Nginx:2https 已阻止混合内容

Posted 秦晓宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx:2https 已阻止混合内容相关的知识,希望对你有一定的参考价值。

1、起因

最近做项目的时候碰到的情况,用Iphone打开页面接口走不通。报https 已阻止混合内容错误。
技术栈:

  • 前端用了nginx,用阿里云的ssl证书,使用了Https访问站点。
  • 后端用了Springboot 打包成jar包。容器用了Tomcat。

原因:前端的页面部署为Https,后端走了其他端口,浏览器为了安全,阻止这样设计。

2、解决

如下配置后将只会转发/tc*的接口到某个端口;
Nginx配置:

    server 
        listen       443 ssl;
        server_name somnus.test.com;

        ssl_certificate      ../cert/xxxxx(请换成自己的).pem;
        ssl_certificate_key  ../cert/xxxxx(请换成自己的).key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    
		location /tc 
			proxy_pass http://localhost:(换成自己的)/tc/;
		
	

以上是关于Nginx:2https 已阻止混合内容的主要内容,如果未能解决你的问题,请参考以下文章

Nginx:2https 已阻止混合内容

混合内容 jQuery ajax HTTPS 请求已在 Laravel 上被阻止

Kubernetes 阻止混合活动内容

请求已被阻止;内容必须通过 HTTPS 提供

http 请求已被 https 阻止

为啥我会收到“阻止:混合内容”?