首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在AWS弹性负载均衡器上实现HTTP严格传输安全?

如何在AWS弹性负载均衡器上实现HTTP严格传输安全?
EN

Stack Overflow用户
提问于 2017-10-30 22:53:26
回答 4查看 19.2K关注 0票数 16

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

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

我知道,为了实现HSTS,我需要将头严格-传输-安全性添加到我的请求。

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

这意味着当ELB向前传递时,它必须向请求中添加头部严格-传输-安全性。

我该怎么做?我能为我添加一些安全策略吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-10-31 03:47:18

我询问了AWS的支持,答案是目前ELB无法在来自客户端的请求中添加HSTS头。因此,我决定使用我的Apache服务器找到一个解决办法。下面是我找到的解决方案:

HSTS RFC指出:

HSTS主机不能在通过非安全传输传送的HTTP响应中包含STS标头字段。

我当时所做的是在、http=>https重定向之后设置头http=>https。由于此重定向具有标志L,这意味着301重定向将不包括标头,但是任何https请求都会。我的apache配置如下所示:

代码语言:javascript
运行
复制
<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"
票数 16
EN

Stack Overflow用户

发布于 2018-02-16 21:03:01

如果您正在使用Apache 2.4+,您可能熟悉表达和指令<If><ElseIf><Else>

我在开发环境、暂存环境和生产环境之间有一个复杂的配置,所以依赖带有[L]标志的RewriteRule不会为我削减它。

这给我带来了下面的解决方案,我把它放在了我的.htaccess中

代码语言:javascript
运行
复制
<IfModule mod_headers.c>
    <If "%{REQUEST_SCHEME} == 'https' || %{HTTP:X-Forwarded-Proto} == 'https'">
        Header set Strict-Transport-Security "max-age=31536000"
    </If>
</IfModule>

它在我的环境中工作得更好,我觉得它对于满足RFC来说更可靠。

如果从未直接命中实例,则可以删除"%{REQUEST_SCHEME} == 'https'部分,但这是我在dev环境中调试过程的一部分。

非常感谢佩德雷罗为HSTS的实际规范指出了正确的方向。

票数 6
EN

Stack Overflow用户

发布于 2020-04-21 13:57:37

请注意,由于Apache < 2.4不支持这一点,所以最好将其封装在<IfVersion >= 2.4>中,如下所示:

代码语言:javascript
运行
复制
    <IfVersion >= 2.4> 
        <IfModule mod_headers.c>
            <If "%{REQUEST_SCHEME} == 'https' || %{HTTP:X-Forwarded-Proto} == 'https'">
                Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
            </If>
        </IfModule>
    </IfVersion>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47025426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档