我在带有 cpanel 的共享主机包中运行了几个托管域。我认为不值得为 SSL 证书付费,因此选择了自签名证书,但事实证明配置是一场噩梦,我看不出我哪里做错了。
我根据已经在该网站上找到的一些问题和答案以各种方式调整了我的 .htaccess,但无论我如何尝试,页面默认为cgi-sys/defaultwebpage.cgi
https,而 http 则出现 500 错误(虽然之前我的 http 工作正常,但我试图让它自动重定向到 https 也)
阅读完 Apache 文档后尝试过我认为这是由于缺乏权限而失败的。
我的 htaccess 在 /home/magpie/public_html 中
DocumentRoot /home/magpie/public_html
<IfModule mod_rewrite.c>
RewriteEngine on
Options -ExecCGI -FollowSymLinks -MultiViews
LoadModule ssl_module modules/mod_ssl.so
SSLCertificateFile /home/magpie/ssl/certs/magpie.crt
SSLCertificateKeyFile /home/magpie/ssl/keys/magpie.key
SSLEngine on
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}
DirectoryIndex index.php
</IfModule>
# block viewing any .httaccess files
<Files .htaccess>
order allow, deny
deny from all
</Files>
Order allow, deny
allow from all
我还创建了一个默认的 ssl.conf,但不知道把它放在哪里。目前它在 ~/ssl 中,并且我的 ~/.bashrc 中设置了该文件的路径
更新:
我已经清除了 .htaccess 文件,正如我下面所说,我向我的托管提供商询问了他们的重定向问题,他们说将我转移到更新的服务器会有所帮助,但现在它只是重定向到一个名为 purechimp.com 的网站。到目前为止,他们还没有给出解决方案。
更新 2:
我完全偏离了思路,认为这个问题可以通过 htaccess 配置来解决,但是我学到了很多有关该文件的知识,所以我很高兴无论如何我都经历了它。
相反,我使用了我的 ssl.conf 文件,并继续联系我的托管服务提供商,他们最终通过删除重定向解决了这个问题,该重定向在使用端口 443 时会将我的页面带离我的网站。不幸的是,他们没有告诉我他们做了什么,我也不确定我可以访问的任何日志是否能告诉我。我在我的 cpan 文件夹中翻找,发现了一些配置错误,说我需要安装 catalyst ssl,所以我必须回到这个问题并尝试稍后修复它。
我的托管计划中的子域名和其他共享内容仍然存在一些配置困难,但我现在已经对主站点进行了加密,目前这些站点只是 html 静态页面,所以不用太担心。
我确实尝试了 startssl 连接,但自签名证书已在我的 ssl.conf 中设置,所以我认为这是托管地块更改设置时 apache 发现的。我现在不愿意改变任何东西,因为它似乎运行良好。如果我可以将我的其他域设置为使用 ssl,那么我将能够将那些我托管在其他地方的域移动到同一个地方,这很好。
我确实注意到我的图标与我被重定向到的站点的图标相同... 不确定如何阻止这种情况发生,因为我不知道我的托管商更改了什么。任何想法都会受到赞赏,但我选择下面的答案,因为它在某种程度上帮助我解决了问题,即使它本身不是一个完整的解决方案。
谢谢
答案1
看看您是否可以在 cPanel 中查看 Apache 错误日志。这将对找出您收到 500 错误的原因有很大帮助。
但是,我现在发现有几件事会导致这种情况。以下任何指令在 .htaccess 文件中都无效:
LoadModule SSLCertificateFile SSLCertificateKeyFile SSLEngine
这Apache 文档显示这一点。任何这些指令都会导致 .htaccess 文件中出现 500 错误。由于您无法在此处设置它们,因此您必须使用 cPanel 或与您的托管服务提供商讨论您的需求。
重定向到
cgi-sys/defaultwebpage.cgi
可能在 cPanel 中的某个位置设置。如果您在那里找不到设置,请查看您的托管服务提供商是否可以提供帮助。自签名证书只会导致证书错误,而不会导致您描述的任何问题。但是,如果您想要由广泛使用的 CA 签名的免费证书,请尝试启动SSL。