在EB

时间:2017-10-25 13:17:07

标签: redirect mod-rewrite amazon-ec2 https elastic-beanstalk

我想强制重定向从http到https,以便当用户输入:http://example.com时,他会被重定向到https://example.com

我已尝试过此post中描述的所有内容 我甚至让它工作,但我不知道发生了什么变化,但它已不再适用了。

我已经为RewriteCond尝试了几个选项,例如!https, =http, ^http$,我唯一可以产生的结果是EB健康检查被重定向,这导致甚至https://example.com得到空响应如果我使用!https。

<VirtualHost *:80>
     <Proxy *> 
         Order Allow,Deny
         Allow from all
     </Proxy>
     ProxyPass / http://localhost:8080/ retry=0
     ProxyPassReverse / http://localhost:8080/
     ProxyPreserveHost on
     LoadModule rewrite_module modules/mod_rewrite.so
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker
     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

我有以下听众: Loadbalancer Listener

我是通过ssh直接连接到我的ec2实例来测试/etc/httpd/conf.d/elasticbeanstalk中的配置,所以我测试一下,我重新启动服务器sudo httpd -k restart并且没有任何变化。我甚至通过以下方式记录了重写:

RewriteLog "/var/log/httpd/rewrite.log"
RewriteLogLevel 3

我可以看到,管理员/健康状况已经过检查,但没有别的。 elasticbeanstalk-error.log中也没有错误。奇怪的是,我有它工作,我确信我刚刚做了改变,我已经在上面描述了,但我不能让它再次工作,它真的让我疯狂!

解决:

所以我解决了它:问题不是配置文件,而是Loadbalancer Listener,我需要HTTP的监听器,如下所示:

enter image description here

0 个答案:

没有答案