作者:翔念式的天空_549 | 来源:互联网 | 2023-09-14 21:55
将http网站设置为https
- http与https的区别在这里不做过多陈述。。。。。
- 首先我们需要拥有一台自己的服务器,并且购买域名,域名备案。。。。。。
首先是不安全的http协议:
nginx 配置设置(主页是随便找的一个静态网页,不需要部署):
server {
server_name www.golangxiaoyu.com;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /var/wwwroot/html/dujitang/;
}
}
这就是我们今天要改造的网站:
首先生成证书,如果你是直接在阿里云等购买的证书可跳过此步骤。
使用工具:acme.sh
安装:
curl https://get.acme.sh | sh
生成证书:
阿里云购买域名的朋友可以走这个极速通道,因为阿里云有接口可以直接操作域名控制台,这个接口已经被整合到了 acme.sh
这个工具里面。只要设置一下 Ali_Key 和 Ali_Secret, 从哪里获得?
export Ali_Key="换成你的 AccessKey ID"
export Ali_Secret="换成你的 Access Key Secret"
生成证书
acme.sh --issue --dns dns_ali -d golangxiaoyu.com -d '*.golangxiaoyu.com'
golangxiaoyu就是我们需要申请证书的域名。
–issue :申请证书
–dns dns_ali:使用阿里云的 dns 服务,在阿里云买的域名,在没有修改默认 dns 的前提下,都可以使用这个参数来申请 https 证书。
-d golangxiaoyu.com:-d
表示 domain,后面跟你要申请域名
-d ‘'*.golangxiaoyu.com':这里的-d 与上方一样,-d 参数可以带多个,这里的'*.golangxiaoyu.com'中的 * 表示泛域名,只要申请了这个证书像(www.golangxiaoyu.com,mail.golangxiaoyu.com,h5.golangxiaoyu.com …)这类的二级域名都可以使用此证书来实现 https。注意 golangxiaoyu.com这个域名不在这条规则里,所以上面又加了一条-d golangxiaoyu.com,这样你的主域名、二级子域名均可以使用此证书。
第一次生成出了错。。。。。
找寻解决方案:
https://github.com/Neilpang/acme.sh/issues/1439
更新
再次尝试成功(这里需要等待一会的):
接下来更新nginx配置:
#监听443端口并使用证书
server {
listen 443 ssl;
server_name www.golangxiaoyu.com;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /var/wwwroot/html/dujitang/;
}
ssl_certificate /root/.acme.sh/golangxiaoyu.com/fullchain.cer;
ssl_certificate_key /root/.acme.sh/golangxiaoyu.com/golangxiaoyu.com.key;
}
#80端口转换为443端口
server {
listen 80;
server_name www.golangxiaoyu.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
之后访问我们的成果!!!