从网站调用不安全的端点在HTTPS – nginx下运行

我的应用程序在HTTPS下运行,并使用来自某个已知权威机构的有效证书。 不幸的是,我正在使用不支持HTTPS的第三方API。

结果是已知邮件混合内容:mydomain.com请求一个不安全的XMLHttpRequest端点。

是否有可能添加一个例外的Web服务器,以允许调用此API不安全! 我正在使用Nginx BTW。

如果不是什么可以解决这个问题的其他可能性。

我有一个解决scheme,但我不喜欢它,因为这将是一个性能的缺点:

实现一个充当代理的API,通过HTTPS接收来自应用程序的请求,并向第三方API请求抛出HTTP。

我也有这个问题。 如果您使用的是https,并且不需要警告/错误,则页面上的所有内容都应该发送并请求https。 如果您使用的是nginx,则不需要实现api来进行代理。 无论你实施什么样的方法,在你正确地猜测的时候都会有性能问题。 只需在nginx中使用代理传递。 在我们的配置中,我们有:

location /thirdparty/ { proxy pass http://thirdpartyserver/; } 

注意代理过程中的尾部斜杠,我保留在http:// myserver / thirdparty / requesturl中的http的所有第三方api。 尾随斜线在请求时移除第三方。 所以它变成http:// thirdpartyserver / request

官方参考: http : //nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

为了允许混合内容,个人用户必须在浏览器中允许。 允许来自一个源的HTTP内容足以危及HTTPS的安全性,因此浏览器在默认情况下禁止混合内容。 我看到的解决方案是:

  1. 摆脱HTTPS(我不会推荐)
  2. 做你的建议和代理请求通过(这仍然不是很好的安全明智)
  3. 摆脱HTTP内容

Google在步骤1中对开发者提出了一些建议(但是他们基本上是在上面回应的): https : //developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content#step-1