Context:我有一个第三方应用程序通过HTTP在EC2实例中运行,Cloudfront发行版放置在前端,用于缓存并通过HTTPS为应用提供服务。
网站网址:https://elvis.********.com
Problem:我对第三方应用程序没有多少控制权--但它通过http对我的应用程序进行了api调用。由于网站是通过https托管的,这会导致错误blocked:mixed-content。

(第三方应用程序对自己进行服务器调用,但通过http -请参阅请求URL和原产地)

在这种情况下,Cloudfront不应该将它路由到API调用,从HTTP到HTTPS吗?毕竟,这是对同一个URL & Server的调用。
想知道添加Lambda@Edge函数是否会有帮助(查看器-Request富于查看器-Response扣棒源-Request扣球源-response?)。但我对此表示怀疑,因为浏览器似乎会立即阻止请求。
任何见解都将不胜感激。
谢谢!
发布于 2019-09-18 07:08:15
Cloudfront不进行协议切换或委托。此错误来自浏览器,它明确表示不允许混合内容。要解决这个问题,您需要将端点托管在https上。如果您使用AWS作为端点托管,那么很容易使用HTTPS证书来设置负载均衡器。也可以为您的应用程序原点设置另一个Cloudfront端点。
https://stackoverflow.com/questions/57986857
复制相似问题