关于如何配置ssl证书和自动装配,并且部署到nginx的服务器上。

  1. 首先在freessl.cn部署一个ssl证书,可以是泛域名的。他只有一个月。搭配上acme就可以永久部署了。
  2. 具体步骤如下
    image
    先获得ssl泛域名证书。
  3. 然后安装acme完成自动化部署。

安装使用下面这个命令:

1
curl https://get.acme.sh | sh -s email=my@example.com

可以根据上面这个模板进行修改。最后就算部署完成,可以正常浏览你的网站了.安装完成后,就根据freessl给你的命令,直接复制到你的服务器执行,然后就在服务器上安装好自动更新的证书了。但是此时的证书任然没有部署到域名上,仍然需要操作


部署好后,请记住你的证书安装的地址,这个之后部署到nginx上需要使用。

nginx部署ssl证书

最好的做法不是直接修改nginx.conf 文件,而是在conf.d 文件夹下添加与你相关的服务的信息。
如果没有conf.d文件夹可以自己创建。然后再nginx.conf里引用你创建的文件即可。
下面是一个示例:

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
27
28
29
30
31
32
33
 server {
listen 80;
server_name memos.zfxt.top;
add_header Strict-Transport-Security max-age=15768000;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name memos.zfxt.top;
# 下面ssl开头的是HTTPS相关的设置
ssl on;
ssl_certificate /root/.acme.sh/*.zfxt.top_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/*.zfxt.top_ecc/*.zfxt.top.key;
ssl_session_timeout 3600m;#session有效期,根据需要适当延长
ssl_session_cache shared:SSL:10m;
# 使用的加解密方式
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# 支持的协议类型
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 优先使用服务端的加解密方式
ssl_prefer_server_ciphers on;
location / {
# 单个服务
proxy_pass http://127.0.0.1:5230/;
# 负载均衡
# proxy_pass http://yourServers/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}