AWS ELB上的HTTPS重定向



我们有在AWS ELB后面运行Apache的web服务器。我已经将ELB设置为接受HTTPS连接,并通过HTTP将请求发送到Web服务器。这很好用。

我还使用HTTP:X-Forwarded-Proto将所有到ELB的请求从HTTP重定向到HTTPS。

我已经将下面的virtualhost部分添加到httpd.conf文件中,并重新启动了Apache。此设置将HTTP请求重定向到HTTPS,但它是在Apache主页上而不是预期的站点上登录的。

ServerName www.myexample.com
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule !/index.html https://%{SERVER_NAME}/%{REQUEST_URI} [R=301,L]

配置似乎简单明了,但不起作用。

请让我知道上面的设置有什么问题,以及为什么它会出现在Apache主页上。

您应该在重写规则中转义.。将您的重写更改为:

RewriteRule "!/index.html" https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

此外,在OP的注释中,删除%{HTTP_HOST}%{REQUEST_URI} 之间的斜线

最新更新