我使用以下命令生成证书
openssl req -new -newkey rsa:2048 -nodes -keyout rrr.key -out rrr.csr
然后,我在sites-available文件夹中创build了以下文件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或端口!
您创build了一个证书签名请求(CSR)。 你需要的是要么签署这个请求的人(即证书颁发机构),要么你可以自己签名(但不会被信任,你会得到一个浏览器警告)。
自签名是openssl的一个相当简单的过程:
openssl x509 -in rrr.csr -out rrr.crt -req -signkey rrr.key -days 1001
你做完之后,你会有一个名为rrr.crt的文件。 只需将您的configuration中的rrr.crt更改为rrr.crt并且apache应该开始使用您的自签名证书。
另见这篇文章: https : //stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl