Nginx服务器安装SSL证书配置

Nginx使⽤KEY和CRT格式的证书。 

 

将服务器证书、中级证书和根证书打开,依次将其代码复制到⽂本⽂件中(包 括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”),并保存成 domain.com.crt。 如下:  

 

-----BEGIN CERTIFICATE----- 

 

服务器证书编码

 

-----END CERTIFICATE----- 

 

-----BEGIN CERTIFICATE----- 

 

中级证书编码

 

-----END CERTIFICATE----- 

 

-----BEGIN CERTIFICATE----- 

 

根证书编码 

 

-----END CERTIFICATE----- 

 

将服务器证书⽂件 domain.com.key 和 domain.com.crt,配置在 Nginx 中。 

 

如果是单向 SSL,⽤⽂本编辑器打开 Nginx 根⽬录下 conf/nginx.conf ⽂件, 更新以下内容:

 

server { 

listen 443; 

 

server_name 127.0.0.1; 

ssl on; 

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate domain.com.crt; ssl_certificate_key 

domain.com.key; 

 

}

 

由于版本问题,配置⽂件可能存在不同的写法。例如:Nginx 版本为 nginx/1.15.0 以上请使⽤ listen 443 ssl 代替 listen 443 和 ssl on。 

 

其中: 

启⽤ SSL 功能:ssl on 

禁⽤ SSLv2SSLv3 协议:ssl_protocols TLSv1 TLSv1.1 TLSv1.2 公钥⽂件:ssl_certificate domain.com.crt 路径 私钥⽂件:ssl_certificate_key domain.com.key 路径 

 

上述设置完成过后,重新启动 Nginx。

 

如果是双向 SSL,⽤⽂本编辑器打开 Nginx 根⽬录下 conf/nginx.conf ⽂件, 更新以下内容

 

server { 

listen 443; 

 

server_name 127.0.0.1; 

ssl on; 

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate domain.com.crt; ssl_certificate_key domain.com.key; ssl_client_certificate ca.crt; ssl_verify_client on; ssl_verify_depth 2; 

 

}

 

其中: 

启⽤ SSL 功能:ssl on 

禁⽤ SSLv2、SSLv3 协议:ssl_protocols TLSv1 TLSv1.1 TLSv1.2 公钥⽂件:ssl_certificate domain.com.crt 路径 

私钥⽂件:ssl_certificate_key domain.com.key 路径 证书链⽂件:ssl_client_certificate ca.crt 路径 

启⽤双向 SSL:ssl_verify_client on 

证书链深度:ssl_verify_depth 2 如果客户端使⽤ CFCA 证书,则该项必须为 2 上述设置完成 过后,重新启动 Nginx 

 

可选: 设置 HTTP 请求⾃动跳转 HTTPS。

 

在需要跳转的 HTTP 站点下添加以下 rewrite 语句,实现 HTTP 访问⾃动跳转到 HTTPS ⻚⾯。 

 

server { listen 80; server_name localhost; #将 localhost 修改为您证书绑定的域名,例 如: www.example.com 

 

rewrite ^(.*)$ https://$host$1 permanent; rewrite 重定向到 https 

 

location / { 

index index.html index.htm; } 

 

#将所有 http 请求通过。

 


在线客服系统