Muh*_*lam 10 ssl xmlhttprequest amazon-web-services mixed-content aws-amplify
我已经在 AWS EC2 实例中部署了我的后端/API 服务器,该实例是在没有 SSL 的情况下加载的,并且 url 类似于“ http://ec2-67-ap-southeast-3.compute.amazonaws.com ”
我已经使用AWS AMPLIFY控制台部署了我的 React 前端/客户端。它会自动将SSL添加到生产分支 URL,URL 类似于https://branch.d3as6d542.amplifyapp.com
现在的问题是,我无法从客户端向我的服务器发出任何 API/HTTP 请求。并出现以下错误,
Mixed Content: The page at 'https://branch.d3as6d542.amplifyapp.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://ec2-67.ap-southeast-3.compute.amazonaws.com/api/profile’. This request has been blocked; the content must be served over HTTPS.
Run Code Online (Sandbox Code Playgroud)
我能够从我的客户端本地主机开发环境中进行这个 API 调用。但是由于 HTTP 未匹配,AWS AMPLIFY SERVER 出现错误。
我该如何解决这个问题,或者有什么方法可以删除自动添加的 AWS AMPLIFY 的 SSL?
您可以在任何地方使用 cors代理。它以 https 形式托管,并且是一个代理,因此您只需将其添加到 api 端点 url 之前即可。
前任。http://myapi.com/v1/users可以写成https://cors-everywhere.herokuapp.com/http://myapi.com/v1/users
这样就可以解决问题了。我个人将其用于您提到的相同设置。
如果不喜欢使用他们的代理,您可以创建自己的代理。
小智 -2
如果您不需要身份验证,您可以在 S3 中运行前端,而不是 AWS Amplify。只需构建您的 React 应用程序并上传构建文件并在 AWS 中正确设置访问即可。
您不会遇到混合内容问题,因为 AWS S3 端点也 http.
| 归档时间: |
|
| 查看次数: |
2797 次 |
| 最近记录: |