我对臭名昭着的"太多的重定向"因为我在certbot上安装了SSL证书,所以我的网站上出现了错误。
我一直在这里找几个小时找到问题的解决方案,尝试了不同的解决方案,但没有一个能解决我的问题。
关于服务器的一些背景信息:使用Apache2的Debian 9(两者都是最新的)
我正在努力摆脱我的VirtualHost文件以摆脱这种情况"过多的重定向"错误。 其中有两个,一个用于非HTTPS连接,一个用于HTTPS连接,当然都在Apache中激活。
这里是非HTTPS配置文件(非常简单)
<VirtualHost *:80>
ServerAdmin contact@website.com
ServerName website.com
Redirect permanent / https://www.website.com/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin contact@website.com
ServerName www.website.com
Redirect permanent / https://www.website.com/
</VirtualHost>
这是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>
正如您所注意到的,我希望&#34;官方&#34;地址为&#34; https://www.website.com&#34;和所有连接没有&#34; www。&#34;和/或&#34; https&#34;被重定向到这个地址。
有人能帮助我吗? 非常感谢!
答案 0 :(得分:2)
在查看Apache2 conf后几个小时,我查看了我的DNS记录...... 那里很乱,有一些301重定向创建循环......
因此,如果有人遇到同样的问题,请考虑在花费数小时在Apache配置文件上检查您的域配置;)
我的问题解决了!
答案 1 :(得分:0)
我见过的一件事是因为这是DNS级别的CDN和DDoS保护设置。
答案 2 :(得分:0)
我使用CloudFlare,它突然停止处理此错误。我将CloudFlare SSL设置从“灵活”更改为“完整”,从而解决了我遇到的问题。
答案 3 :(得分:0)
我还发现,将Cloudflare的SSL级别从“灵活”更改为“完全”可以解决从http重定向到https时重定向过多的问题。
答案 4 :(得分:0)
我有同样的问题。必须添加到我的/etc/apache2/sites-available/example.com-le-ssl.conf
RequestHeader set X-Forwarded-Proto https
希望这对某人有帮助。