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

kse*_*now 5 java http amazon-ec2 amazon-web-services amazon-elastic-beanstalk

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

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

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

Ash*_*han 4

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

注意:由于前端和后端位于两个不同的环境中,因此为了安全起见,最好同时使用 HTTPS 而不是代理方法。