我一直在尝试为我的网站 sammurphey.net 设置自己的 apache 服务器,直到使用 SSL 之前一切都运行顺利。
我的 httpd.conf 中有以下虚拟主机
<VirtualHost *:80>
ServerName sammurphey.net:80
ServerAlias www.sammurphey.net
DocumentRoot /srv/http/sam.../
</VirtualHost>
<VirtualHost *:443>
ServerName sammurphey.net:443
ServerAlias www.sammurphey.net
DocumentRoot /srv/http/sam.../
</VirtualHost>
我已经在 httpd-ssl.conf 中关联了密钥
SSLEngine on
SSLCertificateFile "/etc/httpd/.../server.cer"
SSLPrivateKey "/etc/httpd/.../server.key"
SSLCertificateChainFile "/etc/httpd/.../intermediate.cer"
当我尝试通过取消注释 httpd.conf 中的行来启用 httpd-ssl.conf 文件时,整个过程失败了。什么都不起作用。当然,将其注释掉后 HTTP 就可以正常工作,但 HTTPS 变得很奇怪。
*:80 按预期显示
*:443 完全忽略了 /srv/http,似乎正在提供一个仍然存在于我旧共享主机上的副本?我猜?这个旧版本的网站不存在于我的服务器硬盘上。我真的不知道这里发生了什么。
答案1
没关系,我已经让它工作了。
httpd-ssl.conf 出了问题 - 但仍然不确定是什么问题..
我刚刚将证书声明移到 httpd-conf 中的虚拟主机中,现在它运行良好。
对 httpd-ssl.conf 的引用已被注释掉。
最终/工作虚拟主机:
<VirtualHost *:443>
ServerName sammurphey.net:443
ServerAlias www.sammurphey.net
DocumentRoot /srv/http/sam.../
SSLEngine on
SSLCertificateFile "/etc/httpd/.../server.cer"
SSLPrivateKey "/etc/httpd/.../server.key"
SSLCertificateChainFile "/etc/httpd/.../intermediate.cer"
</VirtualHost>