在HTTP上将http重定向到https

问题描述 投票:3回答:0

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

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

我已经为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的监听器,如下所示:

在此输入图像描述

redirect mod-rewrite amazon-ec2 https elastic-beanstalk
© www.soinside.com 2019 - 2024. All rights reserved.