AWS EC2,浏览器中的网络调用(https)解析为http,301重定向,未经授权

AWS EC2,浏览器中的网络调用(https)解析为http,301重定向,未经授权

我正在托管一个网站https://website.com 当用户登录时,会有许多使用 javascript(VueJS/axios)的网络调用来获取其数据。这些网络调用都使用路径https://website.com/api/{小路}。

在浏览器(Chrome 和 Safari)的网络选项卡中,网络调用实际上被发送到http://website.com/api/{path} 我不知道为什么。我的 http -> https 随后启动并重定向 (301)。重定向发生时,授权标头丢失,网络调用失败(未经身份验证)。

我认为这可能与我的 AWS 配置有关。我使用 EC2 托管网站。我使用典型的弹性负载均衡器 http -> https 重定向。因此,服务器本身托管在端口 80 上,但负载均衡器终止于 443。负载均衡器端口 80 重定向到端口 443。

任何建议都很棒。我已经为此困惑了好几天了。Chrome 足够智能,可以保留授权标头(但仍然是 301 重定向)。Safari 请求完全失败。

这是一个 PHP Laravel 应用程序

答案1

如果您在负载均衡器(443)上终止 HTTPS 并将转发到 http(80)上的服务器,则可能需要查看受信任的代理并确保您的应用程序配置正确。

否则,应用程序会感到困惑,并认为您一直在使用 http。

相关内容