我似乎无法在弹性beantalk的免费使用层上强制使用https。
我在如何通过Amazon Elastic beantalk上强制https而不失败健康检查中尝试了以下建议
使用此Apache重写规则
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/status$
RewriteCond %{REQUEST_URI} !^/version$
RewriteCond %{REQUEST_URI} !^/_hostmanager/
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
当我尝试这样做时,http请求不会像我希望的那样被重定向到https。而是,http页面正常加载。我也尝试过使用具有相同结果的X-Forwarded-Port标头。
我也尝试了以下重写规则
RewriteCond %{SERVER_PORT} 80
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
并且此规则导致重定向循环。因此,似乎apache重写规则不会选择Elastic Load Balancer标头X-Forwarded-Port和X-Forwarded-Proto,但是重定向循环也不是我想要的。
请帮忙。我是AWS,Elastic Beanstalk的新手,并且对Apache规则不太熟悉。我不太确定从这里出发。谢谢。