I generated certs using the following command
openssl req -new -newkey rsa:2048 -nodes -keyout rrr.key -out rrr.csr
I then created the following file ssl-001.conf in the sites-available folder
<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>
Then changed ports.conf to this
<IfModule ssl_module>
Listen 443
Listen 444
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
Listen 444
</IfModule>
Then restarted my server and it didn't work. What i am trying to achieve is to have my port 80 and 443 to run as normal but have an additional port 444 which has ssl. What am I doing wrong? My understanding is that you can have one certificate per ip or port!
Вы создали запрос на подпись сертификата (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