gpt4 book ai didi

apache - 如何在 AWS 弹性负载均衡器上实现 HTTP 严格传输安全 (HSTS)?

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:10 31 4
gpt4 key购买 nike

我想在我的应用程序中实现 HSTS。

我有一个 ELB 终止 SSL 并将流量转发到我的应用程序,这是一个用作反向代理的 apache 服务器。

我知道,为了实现 HSTS,我需要将 header Strict-Transport-Security 添加到我的请求中。

不幸的是,我似乎无法在我的 Apache 服务器上实现它,因为它必须添加到 HTTPS 虚拟主机,而我的 Apache 只配置了 http 虚拟主机,因为 SSL 在 ELB 上终止。

这意味着 ELB 在转发请求时必须将 header Strict-Transport-Security 添加到请求中。

我该怎么做?我可以添加某种安全策略来为我执行此操作吗?

最佳答案

我问了 AWS Support,得到的答复是,目前 ELB 无法在客户端的请求中添加 HSTS header 。因此,我决定使用我的 Apache 服务器寻找解决方法。这是我找到的解决方案:

HSTS RFC指出

An HSTS Host MUST NOT include the STS header field in HTTP responses conveyed over non-secure transport.

然后我所做的是在 Apache 中将 header 设置为 AFTER http=>https 重定向。由于此重定向具有标志 [L],这意味着 301 重定向将不包含 header ,但任何 https 请求都包含。我的 Apache 配置如下所示:

<VirtualHost *:80>
...
#http=>https
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

#hsts
Header set Strict-Transport-Security "max-age=31536000"

关于apache - 如何在 AWS 弹性负载均衡器上实现 HTTP 严格传输安全 (HSTS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47025426/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com