У меня есть сервер apache, работающий на Ubuntu 16.04, который отлично работает с портом, отличным от 80, я перенаправил порт 80 и пытаюсь получить доступ к моему серверу, используя
https://mysite.ddns.net/index.html
и страница не загружается.
И если я изменю порт на 8085 и перенаправлю его, а затем попробую с URL-адресом,
`https://mysite.ddns.net:8085/index.html`
то работает, только проблема с портом 80.
Вот файлы конфигурации
ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 8075
Listen 80
Listen 443
<IfModule ssl_module>
Listen 80
</IfModule>
<IfModule mod_gnutls.c>
Listen 80
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
по умолчанию-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:80>
ServerAdmin your_email@example.com
DocumentRoot /var/www
ServerName mysite.ddns.net
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
Я разрешил порт в iptable с помощью команды.
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Все еще не работает. Что может быть причиной.
Вы пытаетесь подключиться к https://mysite.ddns.net. https использует порт 443. Если вы настроили https на порт 80, вы должны использовать https://mysite.ddns.net:80.
Я рекомендую использовать https с портом 443. Я бы настроил второй vhost для http на порту 80, который отправляет перенаправление для всего трафика на https.