Nginx 如何配置 SSL

SSL 是目前网站的标配了,如果你还需要使用 Google 或者 Apple 的服务的话,你的网站要求必须使用 SSL。

Nginx 配置需要的文件

Niginx 配置需要 2 个文件。

  • Key 文件
  • Crt 文件

Key 文件是你自己生成的,或者使用 SSL 签发网站使用的 key 文件。

Crt 是 CA 机构根据你提供的 Key 文件通过校验后签发给你的,你需要将 Key 和 Crt 文件同时安装到的你的 Nginx 服务器上。

Nginx 配置路径

如果你为你的站点配置了虚拟服务器的话,那么你需要在你的虚拟服务器上有关 443 端口配置下面的内容:

server {
        listen                  443 ssl http2;
        listen                  [::]:443 ssl http2;
        server_name             src.ossez.com;
        client_max_body_size    500m;


        location / {
                proxy_pass http://localhost:3000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }

        ssl_certificate                         /etc/pki/tls/ossez_com/ossez_com.ca.crt;
        ssl_certificate_key                     /etc/pki/tls/ossez_com/ossez_com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;
}

在上面的内容中,我们可以看到了 2 个 文件的安装路径。

当然你也可以配置你自己的路径。

根据上面的说明,key 是你自己生成的文件,crt 是你收到 CA 为你签发的文件。

文件内容

如果你收到了 2 个 crt 文件,例如我们使用的签发机构为我们签发了:

ca-bundel 和 crt 文件。

如下面图片中显示的内容。

在你将最后的 crt 部署到服务器上之前,你需要将 ca-bundel 和 crt 文件合并成一个 crt 文件。

简单来说就是将 crt 的内容添加到 ca-bundel 文件前面。

合并后的 crt 文件看起来和下面一样。

是一堆很长的秘钥,直接将这个文件替换掉 Nginx 配置 ssl_certificate 中指定的文件内容即可。

重启 Nginx

在完成上面配置后,重启 Nginx 服务器。

然后访问网站查看你的 SSL 的证书是否被配置正确了。

例如我们网站上面的签名信息。

如果你能通过浏览器看到所有的签名,就说明配置成功了。