Итак, я только что установил, давайте зашифруем сертификат ssl через certbot с помощью команды
sudo certbot --apache -d mysite.org -d mysite.org
Однако после успешной установки к сайту просто невозможно получить доступ, я использовал несколько рекомендаций из Интернета, например, добавление порта 443 в ports.conf
Listen 443
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443
</IfModule>
Добавление блока VirtualHost *: 443 в 000-default (даже если я уверен, что не использую эту конфигурацию)
<VirtualHost *:443>
DocumentRoot /var/www/html/mysite
ServerName mysite.org
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.org/privkey.pem
</VirtualHost>
Я также включил mod_ssl с a2enmod ssl в моем apache, отключил мой брандмауэр и перезапускал apache каждый раз, когда я вношу изменения, но ничего не произошло, мой сайт по-прежнему недоступен через ssl, браузер просто сказал, что мой сайт недоступен.
Вот как выглядит mysite.org.conf (я прокомментировал перенаправление https):
<VirtualHost *:80>
ServerName mysite.org
ServerAlias www.mysite.org localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/mysite
<Directory /var/www/html/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mysite.org-error.log
CustomLog ${APACHE_LOG_DIR}/mysite.org-acces.log combined
#RewriteEngine on
#RewriteCond %{SERVER_NAME} =www.mysite.org [OR]
#RewriteCond %{SERVER_NAME} =localhost [OR]
#RewriteCond %{SERVER_NAME} =mysite.org
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
А вот так выглядит mysite.org-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin admin@mysite.org
ServerName mysite.org
ServerAlias www.mysite.org
DocumentRoot /var/www/html/mysite
SSLCertificateFile /etc/letsencrypt/live/mysite.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Я действительно понятия не имею, как решить эту проблему, не могли бы вы мне помочь?
вот результат
sudo netstat -nlp | grep: 443
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
tcp6 0 0 :::443 :::* LISTEN 16258/apache2
результат команды wget:
Connecting to mysite.org (mysite.org)|my.public.ip.address|:443... failed: Connection refused.
результат команды curl (мой ubuntu каким-то образом не может найти пакет curl, поэтому я сделал это в Windows)
curl: (56) Recv failure: Connection was reset
и да, я могу получить доступ к своему сайту через http и мой общедоступный IP.
ну, я как-то решил это, поэтому мой маршрутизатор настроен на ip-переадресацию любого человека, который обращается к моему общедоступному ip-адресу, на IP-порт 80 сервера, и нет конфигурации для ip-пересылки на порт 443, после добавления этой конфигурации теперь я могу наконец получить доступ к сайт через https.