Я запускаю apache2 на Devuan Beowulf (~ = Debian Buster) с конфигурацией по умолчанию. В этой конфигурации у меня есть:
в sites-available/default-ssl.conf
:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
# etc etc.
в sites-available/default-000.conf
:
<VirtualHost *:80>
# etc etc.
И в sites-available/default-000.conf
:
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Как сделать так, чтобы apache прослушивал порт 80 для HTTP-трафика и на портах 443 и, скажем, 1234 для HTTPS-соединений?
Здесь несколько задач:
default-ssl.conf
сайт включен (или любой другой сайт, который вы хотите использовать для своего HTTPS-сайта)Вот как это сделать (как root):
a2enmod ssl
(да, есть такая утилита)Listen 1234
прямо под Listen 443
в ports.conf
a2ensite default-ssl
<VirtualHost _default_:443>
к <VirtualHost _default_:443 _default_:1234>
в default-ssl.conf
. Тем не менее, есть (по крайней мере) одна проблема с вышеуказанным решением - каким-то волшебным образом вы можете разговаривать по HTTP с сервером на порту 443.
Примечание: Не надо вставить NameVirtualHost
линии; если вы это сделаете, вы получите предупреждение:
AH00548: NameVirtualHost has no effect and will be removed in the next
release /etc/apache2/ports.conf:6