美文网首页
Nginx下让网站使用HTTPS协议

Nginx下让网站使用HTTPS协议

作者: sha_cq | 来源:发表于2017-10-27 10:42 被阅读60次

    现在越来越多的网站使用HTTPS协议了,并且阿里云提供免费的ca证书(前提是主机也在阿里云买的),于是果断把站点从http切换到HTTPS.
    过程很简单,去阿里云购买CA证书,购买后需要填写些资料,然后提交审核,阿里云的审核速度还是相当快的,当天或次日就可得结果.

    第一步:增加站点的https配置文件

    # 把现有的配置文件复制一个
    cp /etc/nginx/conf.d/com.abc.conf  /etc/nginx/conf.d/com.abc.https.conf
    vi /etc/nginx/conf.d/com.abc.https.conf
    

    把监听端口由80改为443,并往server配置段里添加ssl相关的配置:

    server {
        listen       443;
        server_name  abc.com abc.com;
        # 为一个server{......}开启ssl支持  
        ssl on;
        # 指定 PEM 格式的证书文件 
        ssl_certificate   /home/wwwroot/webs/com.abc/cert/214029045180842.pem;
        # 指定 PEM 格式的私钥文件  
        ssl_certificate_key  /home/wwwroot/webs/com.abc/cert/214029045180842.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;
        ssl_prefer_server_ciphers on;
        
        ........
        .......
        ........ 站点的其它配置
    }
    

    第二步: 修改原来http访问时的配置文件

    vi /etc/nginx/conf.d/com.abc.conf
    

    把所有的 http 请求都重定向到 https,并删除其它多余的配置,最终内容如下:

    server {  
        listen  80;
        server_name abc.com www.abc.com;
        rewrite ^(.*)$  https://$host$1 permanent;  
    }
    

    相关文章

      网友评论

          本文标题:Nginx下让网站使用HTTPS协议

          本文链接:https://www.haomeiwen.com/subject/serrpxtx.html