在我们购买ssl证书后,将已签发的证书下载并上传到Nginx 服务器上。
假设:
证书文件为 cert-file-name.pem。
证书密钥文件为 cert-file-name.key。
PEM格式的证书文件是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式。
在Nginx安装目录(默认为/usr/local/nginx/conf)下创建一个用于存放证书的目录(命名为cert)
cd /usr/local/nginx/conf mkdir cert #创建证书目录
将证书移动到证书目录
mv /root/cert-file-name.pem cert/ mv /root/cert-file-name.key cert/
编辑Nginx配置文件(nginx.conf),修改与证书相关的配置内容。
vim /usr/local/nginx/conf/nginx.conf
配置参考
server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 root html; index index.html index.htm; ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on; location/{ root html; #站点目录。 index index.html index.htm; } }
设置HTTP请求自动跳转HTTPS。
server { listen 80; server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。 rewrite ^(.*)$https://$host; #将所有HTTP请求通过rewrite指令重定向到HTTPS。 location/{ index index.html index.htm; } }
重启或者重新加载
service nginx restart # 或者 cd /usr/local/nginx/sbin #进入Nginx服务的可执行目录。 ./nginx -s reload #重新载入配置文件。
日期:2020-07-07 20:57:18 来源:oir作者:oir