Набор Сам Сертификат Со знаком для единственного VirtualHosts

Я генерировал сам подписанный сертификат для моего локального сервера разработки, после этого руководства 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>

Где я неправильно?

0
задан 9 May 2019 в 15:58

1 ответ

Вы, кажется, слушаете порт 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.

0
ответ дан 9 May 2019 в 15:58

Другие вопросы по тегам:

Похожие вопросы: