本教程将向您展示如何配置Nginx以使用SSL /TLS 来自SSL.com的证书,并将传入的HTTP流量重定向到您网站的安全HTTPS版本。 这些说明假设您已经 产生了您的 CSR 和 订购了SSL /TLS 证书 来自SSL.com。
NGINX用户现在可以 自动化 SSL /的订购,配置和续订TLS SSL.com带有ACME协议的证书。 请阅读 ACME SSL /TLS 使用Apache和Nginx实现自动化 获取更多信息。
- 从SSL.com下载证书时,请选择 Nginx的 下载链接。 该文件将按照正确的顺序包含您的服务器证书和所有必需的支持证书,以用于Nginx。 下载文件的名称应以结尾
.chained.crt
. - 将您生成的证书文件和私钥放入 CSR 您希望他们在Nginx服务器上运行的位置。 (在基于Debian的Linux发行版(如Ubuntu)上的常见位置是
/etc/ssl/certs/
用于证书和/etc/ssl/private/
用于私钥)。 必须正确保护私钥-检查操作系统文档以获取正确的所有权和权限设置。 - 打开包含您网站的HTTP服务器块的Nginx配置文件(例如,在Ubuntu上,该文件可能位于
/etc/nginx/sites-available/example.com
)。 HTTP服务器块应如下所示:
服务器{收听80; 听[::]:80; server_name www.example.com; #配置继续...}
- 在HTTP块下面,为网站的HTTPS版本添加一个块。 更换
/PATH/TO/CERTIFICATE.crt
和/PATH/TO/KEY.key
以及证书和密钥的实际路径。
服务器{收听80; 听[::]:80; server_name www.example.com; #配置继续...}服务器{监听443 ssl; 听[::]:443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key#配置继续...}
请注意,如果您需要同时提供HTTP和HTTPS版本的网站,则可以将所有listen
指令放入同一块中:
服务器{收听80; 听[::]:80; 听443 ssl; 听[::]:443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key#配置继续...}
但是,通常建议将所有流量重定向到HTTPS,如下所示。 - 重定向端口上的所有传入HTTP通信
80
到HTTPS,将重定向添加到HTTP块。 这样做是明智的,这样,到您的网站的任何现有HTTP链接都将导致该网站的安全HTTPS版本。 请注意,您还可以从HTTP块中删除任何其他配置。
服务器{收听80; 听[::]:80; server_name www.example.com; 返回301 https:// $ host $ request_uri; }服务器{监听443 SSL; 听[::]:443 ssl; server_name www.example.com; ssl_certificate /PATH/TO/CERTIFICATE.crt ssl_certificate_key /PATH/TO/KEY.key#配置继续...}
- 重新启动Nginx以使您的更改生效。
感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.