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/;
		}
	}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐