域名绑定证书

申请免费DV试用证书

在Nginx服务器上安装证书

购买证书不用再过多赘述,阿里云文档已经很完善了,主要记录一下遇到的服务器部署的坑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 server {
listen 443 ssl;
server_name www.keeep.top;
ssl_certificate cert/7960442_www.keeep.top.pem;
ssl_certificate_key cert/7960442_www.keeep.top.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root /home/yumintao/myhexo/public/;
index index.html;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 80;
server_name www.keeep.top;
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
}

这个按着文档来也很简单,需要注意的如下

  • nginx无法识别ssl模块,此时需要重新编译nginx,在其根目录下执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module,然后make && make install 即可
  • 需要开启防火墙的443端口和阿里云安全策略组的443端口
1
2
3
4
5
6
7
8
// 添加
firewall-cmd --zone=public --add-port=443/tcp --permanent

// 重新载入
firewall-cmd --reload

// 查看是否开放成功,成功返回yes
firewall-cmd --zone=public --query-port=443/tcp

上面两个也是基本操作,但是接下来我遇到的问题是关闭ng,某些使用ng的网站还能访问(???),我使用的命令是nginx -s stop,按理说应该ng暂停工作了才对,但是并没有(???),查看80端口netstat -ntlp|grep 80发现ng还在运行中,kill之后终于成功,不懂当时为何stop命令失效,无法复现

赏个🍗吧
0%