我试图在Linux的Apache 2.2.3服务器上安装SSL证书。 我一直在网上浏览,看看如何安装证书,大多数人说编辑'httpd.conf'文件。 但是,这里有两个文件,我不确定要编辑哪个文件。 这里是文件path:
/etc/dirsrv/admin-serv/httpd.conf
/etc/httpd/conf/httpd.conf中
我试图编辑他们添加额外的信息到虚拟主机:
SSLCertificateFile mycert
SSLCertificateKeyFile mykey
当我尝试重新启动Apache时,它说SSLCertificateFile是一个无效的命令。
注意:我也有一个nss.conf文件,其中包含有关虚拟主机的一些信息。
如果它叫“SSLCertificateFile”是一个无效的指令,那么你没有加载mod_ssl。 你需要在你的configuration文件中看到类似这样的一行:
LoadModule ssl_module libexec/apache22/mod_ssl.so
(这个特定的行来自FreeBSD的盒子,所以如果不做小的修改就不太可能)
您通常应该将SSL信息放在虚拟主机的指令中; 但一个非常简单的网站可以这样的事情:
ServerName example.com Listen 80 Listen 443 LoadModule ssl_module libexec/apache22/mod_ssl.so LoadModule the other modules go in here... User www Group www DocumentRoot /path/to/site SSLCertificateFile /path/to/cert SSLCertificateKeyFile /path/to/key SSLCertificateChainFile /path/to/chain <VirtualHost *:443> SSLEngine on </VirtualHost>
这是我的个人网站的configuration看起来像(加上一些安全,日志和其他垃圾)。
我认为把SSL信息放在使用它的虚拟主机中会更好,只是为了组织的缘故。 还要记住,mod_ssl必须在apache上启用SSLEngine , SSLCertificateFile和SSLCertificateKeyFile才能工作。
# a2enmod ssl
通常会在基于debian的发行版中自动启用该模块。