我刚从Godaddy获得了SSL证书。我下载了文件...但是现在我在我应该放置它们的位置徘徊。还有什么我需要设置的吗?
我问这个问题的原因是因为我正在了解在Apache2服务器上如何设置SSL的相互冲突的方法。
他们说使用ssl.conf,但是我在服务器上发现了两个:
/etc/apache2/mods-available/ssl.conf
/etc/apache2/mods-enabled/ssl.conf
然后他们说我必须添加以下说明:
SSLCertificateFile /path/to/your/certificate/file
SSLCertificateKeyFile /path/to/your/key/file
SSLCertificateChainFile /path/to/intermediate/bundle/file
他们还说它可能不在ssl.conf中,而是在httpd.conf文件中。
那么至极吗?
如果我使用ssl.conf
wich文件,我必须修改吗?
在此先感谢您的帮助。
更新:
这是我的配置:
<VirtualHost 00.00.000.00:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example.com
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/ssl/certs/example.crt
SSLCertificateKeyFile /etc/ssl/private/example.key
#SSLCertificateChainFile /etc/ssl/certs/gd_bundle.crt
</VirtualHost>
看来,Godaddy证书。出于某些原因未被Google Chrome浏览器核对...
那么什么是SSLCertificateChainFile?
这取决于。您可能需要将这些行添加到VirtualHost文件中。我将使用默认值作为示例,但您可能会定义多个VirtualHost(通常在/etc/apache2/site-available/
目录中)。
但是,您首先需要安装SSL证书。通常,您可以将.crt
文件(或证书文件,如果不以.crt结尾)放置在/etc/ssl/certs/
目录中。然后将.key
文件复制到/etc/ssl/private/
目录。确保该.key
文件没有其他可读权限,因为它可能导致漏洞利用。提醒一下,这些只是默认的SSL证书位置,您可以将它们放置在所需的任何位置,我已经看到一些安装/etc/apache2/ssl
用于CRT和KEY文件的转储。同样,这完全取决于您。
为了在Apache中实际设置SSL站点,您需要复制站点的VirtualHost并编辑几行,以便它可以与SSL一起正常运行。在此示例中,我将继续仅使用默认设置,但将其替换default
为您正在编辑的VirtualHost文件。
因此,对于默认站点,您将复制/etc/apache2/sites-available/default
文件,如下所示:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl
然后编辑新default-ssl
文件。首先改变的第一线,<VirtualHost
...,从:80
到:443
所以它可能会是这样的:
<VirtualHost *:443>
该名称*
可能需要是Apache为该站点侦听的IP地址。它仍然可以是一个星号,这是一个通配符匹配,但是当您在多个站点上具有多个SSL证书时,这可能会引起问题。在文件底部的该</VirtualHost>
行上方对其进行更新后,添加以下内容:
SSLEngine on
SSLCertificateFile /etc/ssl/certs/<yourssl>.crt
SSLCertificateKeyFile /etc/ssl/private/<yourssl>.key
SSLCertificateChainFile /etc/ssl/certs/<yourssl>.crt
完成此操作后,您将需要启用您的网站。调用以下命令以启用mod_ssl(您创建的新VirtualHost),然后重新启动Apache。
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart
现在,当您通过https://导航到站点时,您应该能够成功连接!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句