AWS ELB上的HTTPS重定向

时间:2015-10-28 16:39:14

标签: apache .htaccess rewrite amazon-elb

我们在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主页。

1 个答案:

答案 0 :(得分:0)

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

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

此外,与您对OP的评论一样,删除%{HTTP_HOST}%{REQUEST_URI}

之间的斜杠