使用SSL-Apache的重定向太多
自从我用certbot安装SSL证书以来,我的网站上出现了一个臭名昭著的“太多重定向”错误 我已经在这里寻找了几个小时来解决我的问题,尝试了不同的解决方案,但没有一个在我的情况下有效 关于服务器的一些背景信息:带Apache2的Debian9(都是最新的) 我正在努力处理我的VirtualHost文件,以摆脱这个“太多重定向”错误。 其中有两个,一个用于非HTTPS连接,一个用于HTTPS连接,当然这两个都是在Apache中激活的 这里是非HTTPS配置文件(非常简单)使用SSL-Apache的重定向太多,apache,ssl,redirect,Apache,Ssl,Redirect,自从我用certbot安装SSL证书以来,我的网站上出现了一个臭名昭著的“太多重定向”错误 我已经在这里寻找了几个小时来解决我的问题,尝试了不同的解决方案,但没有一个在我的情况下有效 关于服务器的一些背景信息:带Apache2的Debian9(都是最新的) 我正在努力处理我的VirtualHost文件,以摆脱这个“太多重定向”错误。 其中有两个,一个用于非HTTPS连接,一个用于HTTPS连接,当然这两个都是在Apache中激活的 这里是非HTTPS配置文件(非常简单) 服务器管理员conta
服务器管理员contact@website.com
服务器名网站
重定向永久/https://www.website.com/
服务器管理员contact@website.com
服务器名www.website.com
重定向永久/https://www.website.com/
这是HTTPS配置文件
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin contact@website.com
ServerName website.com
Redirect permanent / https://www.website.com/
SSLCertificateFile /etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
<VirtualHost *:443>
ServerAdmin contact@website.com
ServerName www.website.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLCertificateFile /etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
服务器管理员contact@website.com
服务器名网站
重定向永久/https://www.website.com/
SSLCertificateFile/etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile/etc/letsencrypt/live/website.com/privkey.pem
Include/etc/letsencrypt/options-ssl-apache.conf
服务器管理员contact@website.com
服务器名www.website.com
DocumentRoot/var/www/html
选项如下符号链接多视图
允许超越所有
命令允许,拒绝
通融
SSLCertificateFile/etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile/etc/letsencrypt/live/website.com/privkey.pem
Include/etc/letsencrypt/options-ssl-apache.conf
正如您所注意到的,我希望“官方”地址为“”,所有没有“www.”和/或“https”的连接都被重定向到此地址
有人能帮我吗?
非常感谢 在Apache2 conf中查找了几个小时后,我查看了我的DNS记录。。。 那里一团糟,有一些人在创建循环 因此,如果有人有同样的问题,请考虑在花费数小时在Apache配置文件上之前检查您的域配置;)
我的问题解决了 我看到的一件事是DNS级别的CDN和DDoS保护设置。我使用CloudFlare,但它突然停止了处理此错误。我将CloudFlare SSL设置从flexible更改为full,这解决了我遇到的问题。我还发现,在CloudFlare将SSL级别从flexible更改为full,解决了从http重定向到https时重定向过多的问题。我也遇到了同样的问题。不得不添加到我的
/etc/apache2/sites available/example.com le ssl.conf
RequestHeader集X-Forwarded-Proto-https
希望这对其他人有所帮助。对于CloudFlare用户,请检查SSL是否设置得太“满”@runefist您是我的救世主!谢谢您能详细说明CDN部分吗?设置CDN或DDoS(或任何类型的镜像等)可能会导致重定向循环问题或SSL冲突,因为您假设指向IP的内容实际上可能指向其他内容。这是CloudFlare DNS之类的问题。OP证实了这一点,称他们的DNS配置错误。
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin contact@website.com
ServerName website.com
Redirect permanent / https://www.website.com/
SSLCertificateFile /etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
<VirtualHost *:443>
ServerAdmin contact@website.com
ServerName www.website.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLCertificateFile /etc/letsencrypt/live/website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>