Пользовательские порты сломали apache

Я хотел, чтобы Apache (v2.4.41) прослушивал порты 802 и 44302 вместо 80 и 443 на моем сервере Ubuntu (v20.04), поэтому я сделал следующее:

  • Отредактировал номера портов в /etc/apache2/ports.conf. Теперь файл имеет только две строки и выглядит следующим образом:

    Listen 802
    Послушайте 44302
    
  • Отредактировали номер порта в /etc/apache2/sites-available/000-default.conf следующим образом:

    .
     ....
    
    
  • Отредактировали номер порта в /etc/apache2/sites-available/default-ssl.conf следующим образом:

    .
     
     ....
     
    
    
  • Отредактировали номер порта и на других виртуальных хостах внутри /etc/apache2/sites-available .

  • Перезапущенный apache

  • Подтвержденный apache прослушивает новые порты с помощью netstat, а также lsof и получил следующее:

netstat:

tcp6       0      0 :::44302         :::*            LISTEN      113959/apache2
tcp6       0      0 :::802           :::*            LISTEN      113959/apache2

lsof -i:802

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 113959     root    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113960 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113961 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)

lsof -i:44302

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 117939     root    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117940 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117941 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
  • Подтверждено, что больше ничего не прослушивает порты 80 и 443, используя оба порта netstat и lsof.

Теперь, когда я пытаюсь получить доступ к любому из сайтов или даже к ip-адресу сервера (с :802 или :44302), я просто получаю ошибку Этот сайт не может быть доступен.

Что я делаю не так и как это исправить?

UPDATE:

Я перезагрузил сервер вместо того, чтобы просто перезапустить apache, и https://example.com:44302 сейчас работает, но http://example.com:802 все еще возвращает ошибку Этот сайт не может быть достигнут.

В приведенную выше конфигурацию не вносились никакие изменения, кроме перезагрузки сервера.

0
задан 12 April 2021 в 13:06

1 ответ

Причина, по которой порт 44302 работает, а порт 802 - нет, заключается в том, что порт 44302 находится в диапазоне открытых портов брандмауэра, а порт 802 - нет.

Порты 0–1023 считаются привилегированными и доступны только пользователю root, в отличие от остальных портов.

Переключение порта с 802 на общий порт 80, например 8080, устранило проблему.

0
ответ дан 23 April 2021 в 23:23

Другие вопросы по тегам:

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