Nginx中配置https服务兼容访问http资源

43 篇文章 1 订阅
10 篇文章 0 订阅

Nginx中配置https服务兼容访问http资源

简介:

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:

Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com/s.gif’. This content should also be served over HTTPS.

HTTPS改造之后,我们可以在很多页面中看到如下警报:
在这里插入图片描述
upgrade-insecure-requests CSP 指令的作用就是让浏览器自动升级请求,防止访问者访问不安全的内容。
该指令用于让浏览器自动升级请求从http到https,用于大量包含http资源的http网页直接升级到https而不会报错.简洁的来讲,就相当于在http和https之间起的一个过渡作用。

1、html强制让http的访问Https
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"/>
2、php强制让http的访问Https
header("Content-Security-Policy: upgrade-insecure-requests");
3、nginx 强制让http的访问Https
server
{
    #HTTP_TO_HTTPS_END
    ssl_certificate    /etc/letsencrypt/live/yogayx.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/yogayx.com/privkey.pem;
    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;
    
    add_header Content-Security-Policy "upgrade-insecure-requests;connect-src *";

    error_page 497  https://$host$request_uri;
}

在经过反复测试后

add_header Content-Security-Policy "upgrade-insecure-requests;connect-src *";

解决了全部问题,即消除全部警告,同时兼容了各种协议资源。

好了,这就是Nginx中配置https服务兼容访问http资源的解决办法了,如有问题可与博主一起交流讨论!

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值