linux Apache 2-为什么私钥和证书不匹配?

oiopk7p5  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(156)

我想设置ssl到我的服务器上运行apache。所以我遵循了google给出的指令。我为我的域名申请了一个ssl证书,我得到了ssl-mysite.key文件。不幸的是,这是我从我的供应商收到的唯一文件
但是,您需要一个SSLCertificateChainFile和SSLCertificateFile我在/etc/ssl/certs/ca-certificates.crt中找到了一个SSLCertificateFile,试图将其添加到我的mysite.conf文件中

<VirtualHost *:80>
    ServerName www.mysite.com
    ServerAlias mysite.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/ca-certificates.crt
    SSLCertificateKeyFile /etc/ssl/sites-pk.key
    ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
...

现在Apache无法启动服务器并抛出x1c 0d1x
所以我查了mysite-error.log更多的信息,我得到了

[ssl:emerg] [pid 956:tid 1234567890] AH0123: Certificate and private key www.mysite.de:443:0 from /etc/ssl/certs/ca-certificates.crt and /etc/ssl/sites-pk.key do not match

我想这可能是因为我在.conf中使用了80端口,但如果我更改为443,服务器甚至无法启动。

6yt4nkrj

6yt4nkrj1#

你必须以正确的方式使用SSL成功运行Apache。
在apache中安装SSL需要3个文件。
1.证书文件:certificate.crt
1.证书链文件:ca-cerrificate.crt
1.私钥:private.key
在购买SSL之前,您必须通过填写您的网站名称,组织名称,国家代码等来生成CSR文件。
在CSR生成过程中,它还需要生成一个私钥文件。
在系统中保存CSR & key文件。
现在把CSR文件到您的SSL提供商,它会生成并提供一个zip文件后付款。
下载该zip文件并解压缩,您将在其中获得低于3个文件
1.证书文件
1.链式证书文件
1..pem档桉
现在你必须使用前两个文件连同你以前保存的密钥文件在下面的mysite-ssl.conf文件。
请保持您的mysite.conf不变,请不要将SSL证书放入其中。此外,您还需要在conf文件中提到DocumentRoot路径,您在这里错过了

<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
#DocumentRoot as example
DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log

在/etc/apache 2/sites-available/文件夹中创建一个类似mysite-ssl.conf的新文件,并如下所示

<VirtualHost *:443>
ServerName mysite.com
ServerAlias www.mysite.com
#DocumentRoot as example
DocumentRoot /var/www/html

SSLEngine on
SSLCertificateFile /etc/ssl/certs/certificates.crt
SSL CertificateChainFile /etc/ssl/certs/certificates.crt
SSLCertificateKeyFile /etc/ssl/sites-pk.key
ErrorLog ${APACHE_LOG_DIR}/mysite-error.log

然后使其启用

cd /etc/apache2/sites-available/
sudo a2ensite mysite-ssl.conf

重启apache服务

sudo systemctl restart apache2

享受快乐的网站托管!!!

相关问题