使用SSL-Apache的重定向太多

使用SSL-Apache的重定向太多,apache,ssl,redirect,Apache,Ssl,Redirect,自从我用certbot安装SSL证书以来,我的网站上出现了一个臭名昭著的“太多重定向”错误 我已经在这里寻找了几个小时来解决我的问题,尝试了不同的解决方案,但没有一个在我的情况下有效 关于服务器的一些背景信息:带Apache2的Debian9(都是最新的) 我正在努力处理我的VirtualHost文件,以摆脱这个“太多重定向”错误。 其中有两个,一个用于非HTTPS连接,一个用于HTTPS连接,当然这两个都是在Apache中激活的 这里是非HTTPS配置文件(非常简单) 服务器管理员conta

自从我用certbot安装SSL证书以来,我的网站上出现了一个臭名昭著的“太多重定向”错误

我已经在这里寻找了几个小时来解决我的问题,尝试了不同的解决方案,但没有一个在我的情况下有效

关于服务器的一些背景信息:带Apache2的Debian9(都是最新的)

我正在努力处理我的VirtualHost文件,以摆脱这个“太多重定向”错误。 其中有两个,一个用于非HTTPS连接,一个用于HTTPS连接,当然这两个都是在Apache中激活的

这里是非HTTPS配置文件(非常简单)


服务器管理员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>