我在运行 Arch Linux 的计算机上运行 Apache 2.6。它运行一个邮件服务器,因为我想设置网络邮件,所以我决定创建自己的 SSL 证书,因为只有我的朋友和家人会使用它。我将 Apache 配置为在端口 443 上提供安全数据,但它似乎不起作用。
我的虚拟主机文件:
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot "/srv/http"
<IfModule mod_ssl>
SSLEngine on
SSLCertificateFile /srv/ssl/duncan.crt
SSLCertificateKeyFile /srv/ssl/duncan.key
SSLCertificateChainFile /srv/ssl/duncan.crt
</IfModule>
</VirtualHost>
我还确保取消注释 httpd.conf 中的 mod_log_config 和 mod_ssl,以及包含所有虚拟主机的文件的行(我也检查了路径)。发生了什么事?
在错误日志中,我得到:
[Thu Aug 15 11:03:45.445668 2013] [ssl:warn] [pid 29779:tid 139642496866112] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Aug 15 11:03:45.551540 2013] [ssl:warn] [pid 29782:tid 139642496866112] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Aug 15 11:03:45.551839 2013] [ssl:warn] [pid 29782:tid 139642496866112] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu Aug 15 11:03:45.551903 2013] [lbmethod_heartbeat:notice] [pid 29782:tid 139642496866112] AH02282: No slotmem from mod_heartmonitor
[Thu Aug 15 11:03:45.553665 2013] [mpm_event:notice] [pid 29782:tid 139642496866112] AH00489: Apache/2.4.6 (Unix) OpenSSL/1.0.1e configured -- resuming normal operations
我使用以下命令来生成证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout duncan.key -out duncan.crt
答案1
在这种情况下,“但它似乎不起作用”的含义尚不清楚。
也许 Apache 没有在听?
跑步
netstat -tupln
要查看 apache 是否正在监听端口 443,如果没有,那么你可能需要
Listen 443 somewhere in your apache configuration and then restart apache.