如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

书接上文,苏南大叔利用宝塔面板,给网站添加了https证书并顺利启用。那么这么方便的功能背后,nginx的相关配置都做了什么样的修改呢?本篇文章就说说https的相关nginx设置。

nginx如何配置ssl证书,启用https? - https
nginx如何配置ssl证书,启用https?(图1-1)

配置信息

以苏南大叔的博客为例,先公布答案:

server{
    listen 80;
    listen 443 ssl;
    #你的配置
    ssl_certificate    /etc/letsencrypt/live/newsn.net/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/newsn.net/privkey.pem;
    if ($server_port !~ 443){
        rewrite ^/.*$ https://$host$request_uri permanent;
    }
    error_page 497  https://$host$request_uri;
    #你的配置
}

自动https

其中,下面这句话就是把http的请求,转移成https请求的。

if ($server_port !~ 443){
    rewrite ^/.*$ https://$host$request_uri permanent;
}

这段自动跳转https的存在意义,有待考量。例如苏南大叔的统计相关代码,就是要求能够正常工作在httphttps两个地方的,这种情况下,如果启用这段代码,就可能会有问题。

并且,https网站是不能加载http的js内容的,页面会有警告信息显示。http的网站是可以加载https的js的。启用https的时候,对于协作类的相关内容以及js,就可能具有考量的必要。总的原则上来说:httpshttp网站都是可以加载https的js的。但是实际的生产环境中,请具体问题具体分析。

配置信息

下面贴出的是,实际工作中使用的sslnginx配置。仅供参考。

server{
    #你的配置
    ssl_certificate    /etc/ssl/your.domain/fullchain.pem;
    ssl_certificate_key    /etc/ssl/your.domain/privkey.pem;
    ssl_session_timeout  5m;
    ssl_protocols  SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;
    if ($ssl_protocol = "") {
        rewrite ^/(.*) https://$server_name/$1 permanent;
    }
    #你的配置
}

总结

如果您想获取更多苏南大叔提供的有关https的内容,请点击这里:https://newsn.net/tag/https/

 【nginx】秘籍文章入口,仅传授于有缘之人   nginx    https

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!