AWS在调用API时阻止混合内容

问题描述 投票:1回答:2

我在digitalOcean有一个域名为testDO的前端应用程序。此域名具有SSL证书。因此所有请求来源都来自https://testDO.com

通过将war文件部署到beanstalk中,我在AWS中创建了一个后端服务器。它的名字是testAWS.us-east-2.elasticbeanstalk.com

当我直接从网址调用API时,例如http://testAWS.us-west-2.elasticbeanstalk.com/myAPI/getName就可以了。当我从前端调用相同的API时,我会被阻止:混合内容。这是因为它的http而不是https?解决方法是什么?

java amazon-web-services http amazon-ec2 elastic-beanstalk
2个回答
1
投票

是的,这是因为,您的HTTPS站点尝试通过HTTP访问内容,该内容被浏览器阻止。您需要在前端服务器上同时使用HTTPS或代理请求,并在那里终止SSL并将其转发到Beanstalk中的API服务器。

注意:由于前端和后端位于两个不同的环境中,因此优先使用HTTPS而不是代理方法来实现安全性。


0
投票

您可以创建CloudFront分配并将其与https一起发送到http。您还需要在响应中启用CORS以访问跨域域请求。

客户端 - > CloudFront - >您的http API(使用CORS响应)。

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.