nginx安装SSL证书的正确方法


本文摘自PHP中文网,作者V,侵删。

前提条件:

已经生成了以下文件:

domain.com.crt (域名证书) 有的证书可能是cer 或 pem 或其他后缀名,都可以

domain.com.key (私钥文件)

(相关教程:nginx教程)

配置Nginx

找到站点的配置文件,在server中添加443端口监听和证书文件引用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

server {

    listen 80;

    #监听443端口(必须)

    listen 443 ssl;

     

    server_name domain.com www.domain.com;

    index index.html index.php index.htm;

    root /www/wwwroot/domain.com;

 

    #引用证书(必须,放在conf/ssl目录下可以用相对路径,其他位置用绝对路径)

    ssl_certificate     ssl/domain.com.crt;

    ssl_certificate_key ssl/domain.com.key;

 

    #协议优化(可选,优化https协议,增加安全性)

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

    ssl_prefer_server_ciphers on;

    ssl_session_cache shared:SSL:10m;

    ssl_session_timeout 10m;

 

    #其他的配置信息???

}

以上为最基本的配置,其他参数请根据生产环境需要添加

安装后重启nginx使其生效

如果重启nginx

失败使用如下命令检测nginx是否支持SSL

1

nginx -V

如果有显示 ?Cwith-http_ssl_module 表示已编译openssl,支持安装ssl,仔细检查配置文件
如果没有安装请下载nginx源码重新编译

1

2

./configure --with-http_stub_status_module --with-http_ssl_module

make && make install

强制跳转HTTPS

阅读剩余部分

相关阅读 >>

varnish nginx区别

nginx日志文件在哪

nginx修改请求数据大小限制

php为什么要用nginx做代理

nginx支持socket吗

nginx反向代理和负载均衡区别

nginx如何配置代理转发

详解一个let's encrypt免费又好用的证书

nginx在centos7.3下的部署

编译过的nginx如何添加新模块

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...