情况:
我已经从 namecheap/Comodo 购买了一个多域名(它包括 3 个域名:主域名,例如:maindomain.com
,以及另外两个域名:sitea.com
和siteb.com
)。
到目前为止,我想看看是否能够首先成功地为主要站点设置证书。
在阅读了网上的不同教程后,我认为为了在这 3 个网站上成功使用 SSL 证书,可能需要编辑的文件列表如下:
/etc/apache2/sites-available/maindomain.com.conf
/etc/apache2/apache2.conf
/etc/apache2/ports.conf
已下载的证书文件列表:
115155984.ca-bundle
115155984.crt
(请注意,文件 115155984.ca-bundle 没有任何扩展名)
目前,该网站似乎maindomain.com
指向服务器 IP 地址 ( 155.133.130.203 )。我不确定为什么。我已将目录maindomain.com.conf
中文件的内容发布在下面sites-available
。有几点可能会影响证书的正确实施。
我的问题如下:
- 1)我有一个没有 crt 扩展名的 ca-bundle 文件:我必须手动添加 crt 扩展名吗?
- 2)我下载的文件中没有得到任何 pem 文件:PEM 文件会在某个时候生成吗?
- 3) 我的 /etc/hosts 文件正确吗?我添加了多行以确保至少一行可以解决问题。我确信它包含很多不必要的行。我将其发布在下面。
- 4)我的证书文件不是名为 maindomain.com.crt,而是一个随机数,这有关系吗?
- 5)我之前在流程中生成的密钥文件没有域扩展名 .com ,它的命名方式如下:maindomain.key 如果我没记错的话,它是与之前的 csr 文件同时生成的(之前做过这个步骤)
/etc/apache2/sites-available/maindomain.com.conf 文件
以下是 sites-available 目录内的 maindomain.com.conf 文件的内容:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
<IfModule mod_ssl.c>
<VirtualHost 155.133.130.203:443>
ServerAdmin [email protected]
ServerName maindomain.com
ServerAlias www.maindomain.com
DocumentRoot /var/www/html/maindomain.com/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/115155984.crt
SSLCertificateKeyFile /etc/ssl/private/maindomain.key
SSLCACertificateFile /etc/ssl/certs/115155984.ca-bundle.crt
SSLVerifyClient None
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/maindomain.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
</IfModule>
/etc/host 文件中不必要的信息
这是我的主机文件的内容,位于 /etc/ 中。我必须尝试一些不同的方法,才能让 PHPMailer 从网站发送电子邮件,这就是为什么很可能很多不必要的線。
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
155.133.130.203 servername01.maindomain.com
155.133.130.203 servername01.maindomain.com server01.sitea.com
127.0.0.1 server01 server01.sitea.com sitea.com
127.0.0.1 server01 server01.maindomain.com maindomain.com
155.133.130.203 test.maindomain.com
155.133.130.203 maindomain.com
155.133.130.203 sitea.com
答案1
1)我有一个没有 crt 扩展名的 ca-bundle 文件:我必须手动添加 crt 扩展名吗?
文件扩展名无关紧要 - 除非您是 Microsoft。对于 Apache,文件扩展名只是带有点的长文件名的一部分;
2)我下载的文件中没有得到任何 pem 文件:PEM 文件会在某个时候生成吗?
查看您收到的文件的内容(带有cat
或less
) - 如果它们以 (或类似)开头,则-----BEGIN CERTIFICATE-----
它们是 PEM。如果它们是二进制文件,则它们不是 PEM。您可以使用 转换为 PEM openssl x509 -inform DER -in <file_in_der_format> -out <filename_for_pem_file>
;
3) 我的 /etc/hosts 文件正确吗?我添加了多行以确保至少一行可以解决问题。我确信它包含很多不必要的行。我将其发布在下面。
它会起作用,尽管您已经重复了一些。将 IP 地址放在一行上,后面跟着所有应该解析为该 IP 的名称;
4)我的证书文件不是名为 maindomain.com.crt,而是一个随机数,这有关系吗?
不,它不行。您需要配置 Apache 来查找您的证书和私钥。只要 conf 文件中的条目与文件名和路径匹配,它就会起作用;
5)我之前在流程中生成的密钥文件没有域扩展名 .com ,它的命名方式如下:maindomain.key 如果我没记错的话,它是与之前的 csr 文件同时生成的(之前做过这个步骤)
请参阅上文4)的答案。