我使用以下命令生成证书
openssl req -new -newkey rsa:2048 -nodes -keyout rrr.key -out rrr.csr
然后我在 sites-available 文件夹中创建了以下文件 ssl-001.conf
<VirtualHost _default_:444>
DocumentRoot /var/www/html/endpoint/
ServerName safcom.co.ke
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /home/xxxx/rrr.csr
SSLCertificateKeyFile /home/xxxx/rrr.key
</VirtualHost>
然后将 ports.conf 更改为
<IfModule ssl_module>
Listen 443
Listen 444
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
Listen 444
</IfModule>
然后重启了我的服务器,但它不起作用。我想要实现的是让我的端口 80 和 443 正常运行,但有一个额外的端口 444,它有 SSL。我做错了什么?我的理解是每个 IP 或端口可以有一个证书!
答案1
您创建了一个证书签名请求 (CSR)。您需要有人来签署此请求(即证书颁发机构),或者您可以自行签署(但该请求不可信,并且您会收到浏览器警告)。
使用 openssl 进行自签名是一个相当简单的过程:
openssl x509 -in rrr.csr -out rrr.crt -req -signkey rrr.key -days 1001
完成此操作后,您将获得一个名为的文件rrr.crt
。只需将rrr.csr
配置更改为rrr.crt
,Apache 就会开始使用您的自签名证书。
另请参阅此帖子:https://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl