Я генерировал сам подписанный сертификат для моего локального сервера разработки, после этого руководства https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04
Я установил свой IP сервера как значение "Общего названия" при выяснении. Я не установил брандмауэр.
После того, как сделанный всеми другими модификациями, предложенными руководством, я могу достигнуть https://192.168.1.202
ВОТ ПРОБЛЕМА
У меня есть некоторые виртуальные хосты, которые я хочу защитить, таким образом, я пытался использовать тот же сертификат для доступа к моим сайтам в https, но я всегда перенаправляюсь к апачской корневой странице.
Это - мой файл конфигурации
/etc/apache2/sites-enabled/kopakabana.conf
<VirtualHost *:80>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key`
....
</VirtualHost>
Где я неправильно?
Вы, кажется, слушаете порт 80 вместо порта 443 в Вашей Виртуальной конфигурации Хоста.
Верхняя строка должна быть:
<VirtualHost *:443>
Также могла бы быть другая проблема. Вы упоминаете следующее:
У меня есть некоторые виртуальные хосты, которые я хочу защитить, таким образом, я пытался использовать тот же сертификат для доступа к моим сайтам в https [...]
Все же Вы также упоминаете доступ к сайтам с IP-адресом сервера.
Этот подход не будет работать, у Вас не может быть нескольких виртуальных хостов, слушающих на том же хосте, только один будет работать.
Например, полагайте, что у Вас есть следующие два виртуальных хоста:
example.conf
kopakabana.conf
При доступе к серверу через Apache он должен будет выяснить, какому сайту он должен служить. Это не может служить обоим.
Так как Вы получаете доступ к своему сайту через IP, Apache будет служить первому подобранному виртуальному хосту. В Вашем случае это может решать к файлу конфигурации по умолчанию.
То, что необходимо сделать, должно на самом деле присвоить имя сервера виртуальным хостам. И если Вы хотите выполнить их с тем же сертификатом, можно создать их как субдомены и присвоить им Wildcard-сертификат.
Например, рассмотрите следующие виртуальные хосты:
example.conf
<VirtualHost *:443>
ServerName example.mymachine.local
# [...]
</VirtualHost>
kopakabana.conf
<VirtualHost *:443>
ServerName kopakabana.mymachine.local
# [...]
</VirtualHost>
В этом случае Вы создали бы сертификат для *.mymachine.local
и используйте его на них обоих.
Затем, просто редактирование /etc/hosts
файл на Вашей собственной машине и добавляет следующее к нему так, Ваш браузер может разрешить домен правильно.
192.168.1.202 example.mymachine.local
192.168.1.202 kopakabana.mymachine.local
Наконец, вместо доступа https://192.168.1.202
, Вы получили бы доступ https://kopakabana.mymachine.local
или https://example.mymachine.local
.