Bezk
@Bezk
Engineer, Release manager

Как выяснить, каким образом Apache делает проброс порта?

Привет:
У меня есть macOS Server, с Profile manager и некоторыми другими сервисами, которым нужен Apache. И ведется локальная разработка, под которую нужен nginx.

По умолчанию, если nginx не запускается при старте системы, Apache резервирует порты 80 и 443.
Если nginx запускается раньше при старте системы, то он занимает 80 порт, а Apache каким-то магическим способом делает фейловер и производит проброс порта (3 и 6 строки), но как он это делает не могу понять, хочется это выяснить.

Моя задача – оставить порты 80 и 443 свободными (не резервируя их запуском nginx при старте системы, вызывая фейловер), для того, чтобы я мог запускать nginx локально или из докера, и воспроизвести этот проброс порта 127.0.0.1:80->127.0.0.1:49800 и 127.0.0.1:49800->127.0.0.1:80 не каким-то магическим образом, а подконтрольно.

Избавиться от Apache невозможно. Не запускать его тоже нельзя.

| => sudo lsof -nP -i4TCP | grep ':80'
Password:
nginx       85         root    7u  IPv4 0x395c143ba29ae4d1      0t0  TCP *:80 (LISTEN)
httpd      108         root    4u  IPv6 0x395c143ba18ae7c9      0t0  TCP *:8080 (LISTEN)
nginx      246       nobody    3u  IPv4 0x395c143bac8d30f1      0t0  TCP 127.0.0.1:80->127.0.0.1:49800 (ESTABLISHED)
nginx      246       nobody    7u  IPv4 0x395c143ba29ae4d1      0t0  TCP *:80 (LISTEN)
httpd      256         _www    4u  IPv6 0x395c143ba18ae7c9      0t0  TCP *:8080 (LISTEN)
devicemgr  288   _devicemgr   10u  IPv4 0x395c143bc0a270f1      0t0  TCP 127.0.0.1:49800->127.0.0.1:80 (ESTABLISHED)
httpd      447         root    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      451         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      452         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      453         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      454         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      455         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
httpd      946         _www    4u  IPv6 0x395c143ba61f0a49      0t0  TCP *:80 (LISTEN)
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
bziker
@bziker
linux sysadmin
на примере первых 3 строк:
nginx 85 root 7u IPv4 0x395c143ba29ae4d1 0t0 TCP *:80 (LISTEN)
httpd 108 root 4u IPv6 0x395c143ba18ae7c9 0t0 TCP *:8080 (LISTEN)
nginx 246 nobody 3u IPv4 0x395c143bac8d30f1 0t0 TCP 127.0.0.1:80->127.0.0.1:49800 (ESTABLISHED)

первые 2 строки это nginx и apache слушают на портах 80 и 8080 соответственно (так и написано в скобках LISTEN - слушают), а вот 3 строка это установленное соединение посредством nginx, в скобках так и написано - ESTABLISHED. Установлено соединение по 80 порту, проброшено на рандомный 49800.

Я либо не понимаю какую ты себе проблему хочешь выдумать на ровном месте, либо просто ты не подумал сменить порт в конфиге nginx. по дефолту конфиг /etc/nginx/nginx.conf и запускай его как хочешь, если ты хочешь обращаться на 80 порт к апачу, чтобы он тебя пробрасывал на nginx, при обращении к определенному домену, то надо уже конфиг апача допиливать (погугли - это довольно просто)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы