Apache настройка виртуального хоста SSL сертификата. Этот сайт недоступен.

Вопрос или проблема

Я пытаюсь настроить виртуальный хост apache для ssl.

mywebsite.conf

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName mywebsite.com
        ServerAlias www.mywebsite.com

        DocumentRoot /opt/tomcat/webapps/mywebsite
        <Directory /opt/tomcat/webapps/mywebsite>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined[L,NE,R=permanent]
</VirtualHost>

mywebsite-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName mywebsite.com
        ServerAlias www.mywebsite.com

        DocumentRoot /opt/tomcat/webapps/mywebsite
        <Directory /opt/tomcat/webapps/mywebsite>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on
        SSLCertificateFile /certs/mywebsite_ssl_certificate.crt
        SSLCertificateKeyFile /certs/_.mywebsite_private_key.key
        SSLCertificateChainFile /certs/_.mywebsite_ssl_certificate_INTERMEDIATE.crt
</VirtualHost>
</IfModule>

Я активировал оба сайта с помощью команды a2ensite.

И отключил все остальные сайты.

Также модуль ssl включен.

Файл /etc/hosts выглядит так:

# конфигурация DNS
# IPv4
127.0.0.1 localhost
127.0.0.1 mywebsite.com
#
# IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Если я пытаюсь получить доступ к http://mywebsite.com через браузер, я могу увидеть свое приложение. Но если я пытаюсь получить доступ к https://mywebsite.com через браузер, возникает ошибка:

этот сайт недоступен, веб-страница может быть временно недоступна или
она могла быть перемещена на новый адрес

Мне нужна помощь, где может быть ошибка в моей конфигурации.

Ваши конфигурации выглядят хорошо. Однако, похоже, что Apache может не слушать порт 443.

Вам может понадобиться указать Apache слушать этот порт, добавив следующее в файл конфигурации.

Listen 443

Эта строка должна находиться вне тега <VirtualHost>.

Вы можете попробовать добавить это в верхнюю часть файла mywebsite-ssl.conf или создать отдельный файл конфигурации для этого.

Если вы используете Apache 2.4:

echo "Listen 443" | sudo tee /etc/apache2/conf-available/ssl-port.conf
sudo a2enconf ssl-port
# Я не уверен, что перезагрузка будет достаточной
# возможно, вам нужно будет полностью перезапустить службу apache2
sudo apache2ctl restart 

Ответ или решение

Настройка виртуального хоста Apache с SSL-сертификатом

При настройке виртуального хоста Apache для работы с SSL-сертификатом могут возникнуть разные проблемы. Давайте рассмотрим вашу конфигурацию детально и определим возможные пути решения проблемы «Этот сайт недоступен» при попытке доступа к HTTPS.

Анализ конфигурации

Вы привели две конфигурации для Apache: одну для HTTP (порт 80) и другую для HTTPS (порт 443). Ниже приведены ключевые точки вашего кода:

  1. Файл конфигурации mywebsite.conf:

    <VirtualHost *:80>
       ServerAdmin [email protected]
       ServerName mywebsite.com
       ServerAlias www.mywebsite.com
       DocumentRoot /opt/tomcat/webapps/mywebsite
       ...
    </VirtualHost>
  2. Файл конфигурации mywebsite-ssl.conf:

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
       ServerAdmin [email protected]
       ServerName mywebsite.com
       ServerAlias www.mywebsite.com
       DocumentRoot /opt/tomcat/webapps/mywebsite
       SSLEngine on
       SSLCertificateFile /certs/mywebsite_ssl_certificate.crt
       SSLCertificateKeyFile /certs/_.mywebsite_private_key.key
       SSLCertificateChainFile /certs/_.mywebsite_ssl_certificate_INTERMEDIATE.crt
    </VirtualHost>
    </IfModule>

Проверка настройки

  1. Проверка слушающего порта:
    Убедитесь, что Apache слушает на порту 443. Для этого необходимо добавить следующую строку в конфигурационный файл:

    Listen 443

    Эта строка должна находиться вне блока <VirtualHost>. Вы можете добавить её в начале файла mywebsite-ssl.conf или создать отдельный конфигурационный файл, например, /etc/apache2/conf-available/ssl-port.conf и затем активировать его:

    echo "Listen 443" | sudo tee /etc/apache2/conf-available/ssl-port.conf
    sudo a2enconf ssl-port
  2. Перезапуск Apache:
    После внесения изменений, перезапустите Apache для применения новых настроек:

    sudo systemctl restart apache2

    В определенных ситуациях может быть полезно выполнить полное перезапуск, а не просто перезагрузку конфигурации:

    sudo apache2ctl restart

Проверьте наличие ошибок

После перезапуска Apache проверьте наличие ошибок в логах:

sudo tail -f /var/log/apache2/error.log

Это поможет вам выявить, если возникли проблемы со сертификатами или конфигурацией SSL.

Убедитесь в наличии сертификатов

Проверьте, что все указанные файлы сертификатов действительно существуют и доступны для чтения пользователем, под которым работает Apache:

  • /certs/mywebsite_ssl_certificate.crt
  • /certs/_.mywebsite_private_key.key
  • /certs/_.mywebsite_ssl_certificate_INTERMEDIATE.crt

Если эти файлы недоступны, Apache не сможет настроить SSL, и вы получите ошибку доступа на порт 443.

Проверка доступности с помощью curl

Для более точной диагностики можно использовать команду curl, чтобы проверить доступность HTTPS:

curl -I https://mywebsite.com

Эта команда покажет заголовки ответа сервера и может помочь в выявлении проблем.

Заключение

Следуя приведенным шагам, вы должны быть в состоянии устранить проблему и успешно настроить виртуальный хост Apache для работы с SSL-сертификатом. Важно помнить, что работа с сертификатами и веб-серверами требует тщательной проверки, поэтому не стесняйтесь обращаться к журналам для поиска подсказок о проблемах.

Оцените материал
Добавить комментарий

Капча загружается...