Apache настраивает виртуальный хост SSL-сертификат. Этот сайт не может быть достигнут
Я пытаюсь настроить виртуальный хост Apache для SSL.
mywebsite.conf
<VirtualHost *:80>
ServerAdmin info@mywebsite.com
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>
МойВебСайт-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin info@mywebsite.com
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
файл выглядит так:
# nameserver config
# 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/ через браузер, возникает ошибка:
этот сайт недоступен для веб-страницы, на которой он может быть временно недоступен или он может быть окончательно перемещен на новый веб-адрес
Мне нужна помощь, где может быть ошибка в моей настройке.
1 ответ
Ваши конфигурации кажутся в порядке. Однако, похоже, что 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
# I'm not sure if graceful will be enough here
# you may need to fully restart the apache2 service
sudo apache2ctl restart