#apache #iis #firewall #windows-server-2016
Вопрос:
Сервер работает под управлением Windows Server 2016.
IIS работает на порту 80, Apache-на 8080. Оба видны снаружи, страницы каждого открыты, все в порядке.
Я запускаю certbot (для создания сертификата) и, как указано в инструкциях, отключаю IIS, чтобы certbot подключил свой веб-сервер к порту 80 и активировал сертификат. Но это дает тайм-аут ошибки во время подключения (вероятно, проблема с брандмауэром).
Я отключаю IIS, переключаю Apache на порт 80, доступный локально, но не снаружи!
Я попытался отвязать сайт IIS от порта 80, это не помогло.
Я проверил брандмауэр Windows, 80 был открыт и остается.
Где копать?
Комментарии:
1. Если вы разрешите IIS работать как обратный прокси-сервер, docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/… тогда весь трафик может поступать в порт 80, а затем перенаправляться в нужные места.
2. Порт в системе Windows может обслуживать только один процесс. Когда IIS использует порт 80, другие процессы могут не использовать его. Закрытие IIS не полностью останавливает порт 80, вам нужно найти процесс и остановить его.
Ответ №1:
Правило в брандмауэре было разрешено только для процесса IIS. Таким образом, отключение IIS освободило порт, но брандмауэр заблокировал его для любых других приложений. Я изменил правило на любое приложение (процесс), и оно сработало