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 的证书是否被配置正确了。
例如我们网站上面的签名信息。
如果你能通过浏览器看到所有的签名,就说明配置成功了。