我有一个网站运行在 Apache 上。标准 HTTP 可以运行,但 HTTPS才不是。HTTPS 导致我的网站挂起,最终抛出错误 524。我到处寻找答案,但找不到对我有用的任何方法。
我看到有人有一个类似问题对我来说。所以,我想我也可以分享一下我的设置,这可能会或可能不会导致我的问题。
以下是我的 VirtualHosts 的样子:
Listen 80
Listen 443
Listen 8080
Listen 9175
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>
<VirtualHost *:8001>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>
<VirtualHost *:9177>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName smileytechdev.club
ServerAlias www.smileytechdev.club
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/smileytechguy.com/public_html/ims/
ServerName ims.smileytechguy.com
</VirtualHost>
<VirtualHost *:9175>
DocumentRoot /var/www/smileytechguy.com/public_html/ims/Server/
ServerName ims.smileytechguy.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/smileytechguy.com/public_html/
ServerName smileytechguy.com
ServerAlias www.smileytechguy.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/haloassistant.com/public_html/
ServerName haloassistant.com
ServerAlias www.haloassistant.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/scoutingforflags.org/public_html/
ServerName scoutingforflags.org
ServerAlias www.scoutingforflags.org
</VirtualHost>
<VirtualHost *:443>
ServerName scoutingforflags.org
ServerAlias www.scoutingforflags.org
DocumentRoot /var/www/scoutingforflags.org/public_html/
SSLEngine on
SSLCertificateFile /var/www/scoutingforflags.org/publ.crt
SSLCertificateKeyFile /var/www/scoutingforflags.org/priv.key
SSLCertificateChainFile /var/www/scoutingforflags.org/root.crt
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/tmocentric.com/public_html/
ServerName tmocentric.com
ServerAlias www.tmocentric.com
</VirtualHost>
<VirtualHost *:443>
ServerName citrusui.me
ServerAlias www.citrusui.me
DocumentRoot /var/www/citrusui.me/public_html/
SSLEngine on
SSLCertificateFile /var/www/citrusui.me/publ.crt
SSLCertificateKeyFile /var/www/citrusui.me/key.key
SSLCertificateChainFile /var/www/citrusui.me/root.crt
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/citrusui.me/public_html/
ServerName citrusui.me
ServerAlias www.citrusui.me
</VirtualHost>
另请注意,我可以成功运行telnet citrusui.me 443
(但是,连接会在几秒钟后关闭)。我重启了 Apache 几次,但似乎没有什么能解决我的问题。
答案1
似乎你遇到的那些传统原因都不是CloudFlare SSL 问题不适用于您的情况;因此,以下是一些调试步骤供您遵循。这些步骤将帮助您找到问题:
- 修改 hosts 文件在您的本地机器上,以便域名直接路由到您的原始 Web 服务器,而不是通过 CloudFlare。
- 如果 SSL 握手失败,CloudFlare 将使用错误 525;如果在严格模式下存在无效证书,则使用错误 526,您的错误只是超时。这表明问题可能是某种形式的重写或防火墙造成的。修改主机文件后,您应该能够查看问题是否出在您的源 Web 服务器上。
- 确保防火墙上的端口 443 已打开。
- 白名单CloudFlare 的 IP 地址在您的防火墙中以防止任何速率限制。
- 务必检查你的 Apache 错误日志看看那里是否有任何错误迹象。