У меня есть удаленная машина с общедоступным IP-адресом 121.xyz
, с установленным Gitlab (программное обеспечение не имеет большого значения и знания Gitlab здесь не требуются) (который использует nginx для своего веб-интерфейса) и настройкой HTTPS. Однако я нахожусь в ситуации, когда я могу получить доступ только через HTTPS, используя локальный хост, но без другого IP-адреса.
Когда я делаю netstat -ан | группа 443
на удаленной машине я получаю
[пользователь@машина ~]$ netstat -an | группа 443
TCP 0 0 0.0.0.0:443 0.0.0.0:* ПРОСЛУШИВАТЬ
Когда я делаю завиток --небезопасный https://127.0.0.1
на удаленной машине я получаю
[пользователь@машина ~]$ curl --insecure https://127.0.0.1
<html><body>Вы <a href="https://127.0.0.1/users/sign_in">перенаправлены</a>.</body></html>
Перенаправленное сообщение является правильным сообщением по умолчанию в Gitlab.
Однако, когда я делаю curl --insecure https://121.x.y.z
на удаленной машине я не получаю ничего, кроме бесконечного времени ожидания (похоже, что на самом деле она не слушает). Но результат netstat, похоже, указывает на то, что он прослушивает все IP-адреса, а не только localhost.
Веб-интерфейс Gitlab работает корректно, если я сброшу настройки HTTPS и вернусь к HTTP.
Я не знаю, как продолжить отладку этой проблемы, и в значительной степени застрял. Могу ли я что-нибудь сделать, чтобы понять, почему он слушает только localhost, а netstat показывает, что слушает все?
Редактировать:
Система CentOS7, и firewalld, похоже, тоже не активен.
[user@machine ~]$ sudo systemctl статус firewalld
▪ firewalld.service — firewalld — демон динамического брандмауэра
Загружено: загружено (/usr/lib/systemd/system/firewalld.service; отключено; предустановка поставщика: включена)
Активный: неактивный (мертвый)
Документы: man:firewalld(1)
14 августа, 10:55:45 xxxxxx systemd[1]: firewalld.service: модуль нельзя перезагрузить, поскольку он неактивен.