CakePHP 3.4 DebugKit 不会通过 AWS 负载均衡器后面的 TLS 请求
CakePHP 3.4 DebugKit won't request via TLS behind AWS load balancer
我运行在负载均衡器后面的实例上的 AWS Elastic Beanstalk 上安装我的 Web 应用程序。我根据 AWS Documentation.
在负载均衡器上终止 HTTPS
Apache 设置为通过此指令将任何入站 http 请求重写为 https:<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
</VirtualHost>
此外,我使用 CakePHP 的安全组件将任何没有 X-Forwarded-Proto https header 的连接重定向到安全连接。
尽管如此,我的应用程序仍在请求 non-secure DebugKit 资产,并且服务器正在明文响应。这导致 Internet Explorer 无法 运行 DebugKit 脚本,因为它们不是安全内容。我在 IE 中禁用了混合内容保护,但这并不允许 DebugKit 运行.
最终,我宁愿安全地提供所有服务,也不愿诉诸 client-side 解决方法。有什么建议么?我错过了什么?
所以我在 this question 找到了答案。基本上,我可以编辑 cake/bootstrap.php 来寻找 X-Forwarded-Proto,或者使用 .extensions 手动设置 HTTPS 服务器 var on.
我运行在负载均衡器后面的实例上的 AWS Elastic Beanstalk 上安装我的 Web 应用程序。我根据 AWS Documentation.
在负载均衡器上终止 HTTPSApache 设置为通过此指令将任何入站 http 请求重写为 https:<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}
</VirtualHost>
此外,我使用 CakePHP 的安全组件将任何没有 X-Forwarded-Proto https header 的连接重定向到安全连接。
尽管如此,我的应用程序仍在请求 non-secure DebugKit 资产,并且服务器正在明文响应。这导致 Internet Explorer 无法 运行 DebugKit 脚本,因为它们不是安全内容。我在 IE 中禁用了混合内容保护,但这并不允许 DebugKit 运行.
最终,我宁愿安全地提供所有服务,也不愿诉诸 client-side 解决方法。有什么建议么?我错过了什么?
所以我在 this question 找到了答案。基本上,我可以编辑 cake/bootstrap.php 来寻找 X-Forwarded-Proto,或者使用 .extensions 手动设置 HTTPS 服务器 var on.