Изменить конфигурацию apache по умолчанию для обслуживания HTTPS на двух портах?

Я запускаю 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-соединений?

1
задан 28 October 2019 в 00:43
1 ответ

Здесь есть несколько задач:

  1. Убедитесь, что модуль SSL загружен
  2. Прослушайте другой порт для SSL - особенно порт 1234
  3. Убедитесь, что default- ssl.conf сайт включен (или любой другой сайт conf, который вы хотите использовать для своего HTTPS сайта)
  4. Сделайте виртуальный хост port-443 также обслуживаемым для второго порта - без простого копирования этого блока конфигурации

Вот как это сделать (как root):

  1. Invoke a2enmod ssl (да, такая утилита есть)
  2. Add Listen 1234 справа внизу Listen 443 в ports.conf
  3. Вызов a2ensite default-ssl
  4. Измените на в default-ssl.conf .

Однако есть (по крайней мере) одна проблема с вышеуказанным решением - каким-то волшебным образом вы можете передать HTTP-соединение серверу на порт 443.

Примечание: Не вставляйте NameVirtualHost строки; если вы это сделаете, вы получите предупреждение:

AH00548: NameVirtualHost has no effect and will be removed in the next 
release /etc/apache2/ports.conf:6
1
ответ дан 3 December 2019 в 22:59

Теги

Похожие вопросы