Рейтинг:0

Сервер Ubuntu, на котором работает проксированное веб-приложение Node/JS с Apache2, получает странный сбой подключения

флаг in

Таким образом, я запускаю приложение Express JS через Apache (примечание повторить = 0 это важно):

...
   Прокси-запросы выключены
   ProxyPreserveHost включен
   Прокси через полный
   <Прокси *>
       Требовать все предоставленные
   </прокси>
   ProxyPass / http://127.0.0.1:3000/ повтор = 0
   ПроксиПассРеверс / http://127.0.0.1:3000/
...

После обновления некоторого программного обеспечения (например, до сервера Ubuntu 20.04) и интернет-шлюза (Sagecom 5370e) я застрял на сервере apache2, не подключающемся к localhost: 3000, со следующим детализированным выходом из системы, который я не могу интерпретировать. Может кто-нибудь подсказать, как действовать, чтобы понять причину?

Подробный журнал Apache2

Подчеркнутая серая часть начинается с кажущихся успешными переговоров о доступе/разрешении, но заканчивается после ...HTTP: сокет fam 2 создан для подключения к 127.0.0.1 с ...AH00957: HTTP: попытка подключения к 127.0.0.1:3000 (127.0.0.1) не удалась и ошибка браузера 503. (Почему розетка фам 2?)

Или найдите это в том же открытом тексте (в другой момент времени):

[Вт, 10 августа, 20:08:28.154152 2021] [http:trace4] [pid 2513680] http_request.c(439): [client 88.83.62.147:50644] Sec-Fetch-Mode: навигация
[Вт, 10 августа, 20:08:28.154155 2021] [http:trace4] [pid 2513680] http_request.c(439): [client 88.83.62.147:50644] Sec-Fetch-Site: нет
[Вт, 10 августа, 20:08:28.154158 2021] [http:trace4] [pid 2513680] http_request.c(439): [client 88.83.62.147:50644] Sec-Fetch-User: ?1
[Вт, 10 августа, 20:08:28.154164 2021] [http:trace4] [pid 2513680] http_request.c(439): [клиент 88.83.62.147:50644] DNT: 1
[Вт, 10 августа, 20:08:28.154167 2021] [http:trace4] [pid 2513680] http_request.c(439): [клиент 88.83.62.147:50644] Sec-GPC: 1
[Вт, 10 августа, 20:08:28.154170 2021] [http:trace4] [pid 2513680] http_request.c(439): [client 88.83.62.147:50644] Cache-Control: max-age=0
[Вторник, 10 августа, 20:08:28.154187 2021] [rewrite:trace2] [pid 2513680] mod_rewrite.c(483): [client 88.83.62.147:50644] 88.83.62.147 - - [mish.hopto.org/sid#7fca5ec89460 ][rid#7fca612f90a0/initial] инициировать переписывание механизма с запрошенным uri /
[Вт, 10 августа, 20:08:28.154192 2021] [rewrite:trace1] [pid 2513680] mod_rewrite.c(483): [client 88.83.62.147:50644] 88.83.62.147 - - [mish.hopto.org/sid#7fca5ec89460 ][rid#7fca612f90a0/initial] пройти через /
[Вт, 10 августа, 20:08:28.154196 2021] [proxy:trace2] [pid 2513680] mod_proxy.c(686): [client 88.83.62.147:50644] AH03461: попытка сопоставить путь URI '/' с префиксом '/' для проксирования
[Вт, 10 августа, 20:08:28.154206 2021] [proxy:trace1] [pid 2513680] mod_proxy.c(772): [client 88.83.62.147:50644] AH03464: путь URI '/' соответствует обработчику прокси-сервера 'proxy:http: //127.0.0.1:3000/'
[Вторник, 10 августа, 20:08:28.154224 2021] [authz_core:debug] [pid 2513680] mod_authz_core.c(817): [client 88.83.62.147:50644] AH01626: результат авторизации Require all предоставил: предоставлено
[Вт, 10 августа, 20:08:28.154228 2021] [authz_core:debug] [pid 2513680] mod_authz_core.c(817): [client 88.83.62.147:50644] AH01626: результат авторизации <RequireAny>: предоставлено
[Вт, 10 августа, 20:08:28.154232 2021] [core:trace3] [pid 2513680] request.c(310): [client 88.83.62.147:50644] запрос, авторизованный без аутентификации с помощью хука access_checker_ex: /
[Вт, 10 августа, 20:08:28.154247 2021] [proxy_http:trace1] [pid 2513680] mod_proxy_http.c(62): [client 88.83.62.147:50644] HTTP: канонизация URL //127.0.0.1:3000/
[Вт, 10 августа, 20:08:28.154276 2021] [proxy:trace2] [pid 2513680] proxy_util.c(2131): [клиент 88.83.62.147:50644] http: найден рабочий http://127.0.0.1:3000/ для http://127.0.0.1:3000/
[Вт, 10 августа, 20:08:28.154281 2021] [proxy:debug] [pid 2513680] mod_proxy.c(1253): [client 88.83.62.147:50644] AH01143: Запуск обработчика http схемы (попытка 0)
[Вт, 10 августа, 20:08:28.154285 2021] [proxy_http:trace1] [pid 2513680] mod_proxy_http.c(1985): [client 88.83.62.147:50644] HTTP: URL-адрес http://127.0.0.1:3000/
[Вт, 10 августа, 20:08:28.154288 2021] [proxy:debug] [pid 2513680] proxy_util.c(2325): AH00942: HTTP: установлено соединение для (127.0.0.1)
[Вт, 10 августа, 20:08:28.154296 2021] [proxy:debug] [pid 2513680] proxy_util.c(2379): [client 88.83.62.147:50644] AH00944: подключение http://127.0.0.1:3000/ к 127.0 .0.1:3000
[Вт, 10 августа, 20:08:28.154358 2021] [proxy:debug] [pid 2513680] proxy_util.c(2588): [client 88.83.62.147:50644] AH00947: подключено / к 127.0.0.1:3000
[Вт, 10 августа, 20:08:28.154393 2021] [proxy:trace2] [pid 2513680] proxy_util.c(3022): HTTP: сокет fam 2 создан для подключения к 127.0.0.1
[Вт, 10 августа, 20:08:28.154440 2021] [прокси: ошибка] [pid 2513680] (111) В соединении отказано: AH00957: HTTP: попытка подключения к 127.0.0.1:3000 (127.0.0.1) не удалась
[Вт, 10 августа, 20:08:28.154459 2021] [proxy_http:error] [pid 2513680] [клиент 88.83.62.147:50644] AH01114: HTTP: не удалось установить соединение с серверной частью: 127.0.0.1
[Вт, 10 августа, 20:08:28.154463 2021] [proxy:debug] [pid 2513680] proxy_util.c(2340): AH00943: HTTP: разорвано соединение для (127.0.0.1)
[Вт, 10 августа, 20:08:28.154495 2021] [http:trace3] [pid 2513680] http_filters.c(1125): [client 88.83.62.147:50644] Ответ отправлен со статусом 503, заголовки:
[Вт, 10 августа, 20:08:28.154499 2021] [http:trace5] [pid 2513680] http_filters.c(1134): [клиент 88.83.62.147:50644] Дата: вторник, 10 августа 2021 г., 18:08:28 по Гринвичу
[Вт, 10 августа, 20:08:28.154503 2021] [http:trace5] [pid 2513680] http_filters.c(1137): [клиент 88.83.62.147:50644] Сервер: Apache/2.4.41 (Ubuntu)
[Вт, 10 августа, 20:08:28.154506 2021] [http:trace4] [pid 2513680] http_filters.c(955): [клиент 88.83.62.147:50644] Content-Length: 380
[Вт, 10 августа, 20:08:28.154514 2021] [http:trace4] [pid 2513680] http_filters.c(955): [клиент 88.83.62.147:50644] Соединение: близко
[Вт, 10 августа, 20:08:28.154517 2021] [http:trace4] [pid 2513680] http_filters.c(955): [client 88.83.62.147:50644] Content-Type: text/html; кодировка = iso-8859-1
[Вт, 10 августа, 20:08:28.154522 2021] [ssl:trace4] [pid 2513680] ssl_engine_io.c(1657): [client 88.83.62.147:50644] объединение: 0 байт, добавление еще 190
[Вт, 10 августа, 20:08:28.154526 2021] [ssl:trace4] [pid 2513680] ssl_engine_io.c(1657): [client 88.83.62.147:50644] объединение: 190 байт, добавление еще 380
[Вт, 10 августа, 20:08:28.154529 2021] [ssl:trace4] [pid 2513680] ssl_engine_io.c(1718): [клиент 88.83.62.147:50644] объединение: передача 570 байт
[Вторник, 10 августа, 20:08:28.154540 2021] [core:trace8] [pid 2513680] core_filters.c(575): [client 88.83.62.147:50644] бригада содержит: байт: 592, нефайловые байты: 592, eor ведра: 0, морфинг ведра: 0
[Вт, 10 августа, 20:08:28.154545 2021] [ssl:trace4] [pid 2513680] ssl_engine_io.c(2207): [client 88.83.62.147:50644] OpenSSL: запись 592/592 байт в BIO#55edbb4540b0 [mem4: 53fbbf ] (дамп БИО следует)
[Вт, 10 августа, 20:08:28.154548 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2134): [клиент 88.83.62.147:50644] +--------------- --------------------------------------------- ---------+
[Вт, 10 августа, 20:08:28.154554 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0000: 17 03 03 02 4b 00 8c af-a7 6c 28 46 85 23 66 8f ....K....l(F.#f. |
[Вт, 10 августа, 20:08:28.154559 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0010: bd aa 6b 06 77 a6 17 df-a7 f3 5d 33 e5 a9 94 b7 ..kw.....]3.... |
[Вт, 10 августа, 20:08:28.154563 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0020: a4 b2 be b7 e1 5a 64 20-38 50 d4 96 53 0c cf 19 ..... Zd 8P..S... |
[Вт, 10 августа, 20:08:28.154568 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0030: ef 10 dc 8d ba bc 1e f1-79 b7 54 2a 93 af 8a c9 ........y.T*.... |
[Вт, 10 августа, 20:08:28.154573 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0040: a1 a4 8c 9d a8 2f 3c 1d-3d 48 91 27 c1 bd 44 42 ...../<.=H.'..DB |
[Вт, 10 августа, 20:08:28.154577 2021] [ssl:trace7] [pid 2513680] ssl_engine_io.c(2173): [клиент 88.83.62.147:50644] | 0050: 75 8a 5a 4c ff eb 9b ec-cc e4 23 ce 69 cf 13 4d u.ZL......#.i..M |

Настройки переадресации портов и брандмауэра моего интернет-соединения были успешно выполнены десять дней назад (с Sagecom 5370e), но устройство не находится под моим контролем и может удаленно обновляться провайдером. Кажется даже возможным продвигать связь между сервером (LAN IP, apache2) и его локальным хостом (127.0.0.1) через настройки доступа GUI шлюза, но не повезло. -- Как мне поступить, чтобы хотя бы понять, что происходит?

ДОБАВЛЕНО: невозможно найти информацию в ЛЮБОМ другом журнале, кроме журнала Apache. Любой намек на какой-либо другой способ получить информацию? Какой-то сетевой инструмент?

ДОБАВЛЕНО: Могут возникнуть дополнительные трудности, когда локальный хост выходит в интернет, в данном случае через pm2 оказание услуг?

ДОБАВЛЕНО: @bodo спасибо (см. комментарий). В логе, конечно, так лаконично сказано, что никто не слушает localhost:3000, который как бы "подготовлен и разблокирован" процедурой аутентификации. Я сожалею, что не был достаточно внимательным, чтобы тщательно проверить это ... пометка решена, когда он будет в сети, надеюсь, скоро!

НАКОНЕЦ: Много шума из ничего! Просто пропустил эту маленькую проверку: кто-нибудь слушает? (Хорошо, мои извинения: это всегда так, далее: я недооценил сложность сети зависимостей js-npm-nvm-node). Приятно получить откровение ... спасибо!

Bodo avatar
флаг pt
Пожалуйста, [отредактируйте] свой вопрос, скопируйте и вставьте (соответствующую часть) файла журнала в виде текста и отформатируйте его как блок кода вместо того, чтобы показывать снимок экрана. Есть ли процесс, прослушивающий порт 3000 `localhost` (`127.0.0.1`)? Пожалуйста, ответьте, добавив детали к вашему вопросу. («fam 2» может быть числовым значением «AF_INET».)
Tore Ericsson avatar
флаг in
@Bodo Добавлен текстовый файл. Я не могу найти (с помощью `lsof`) других прослушивающих порт 3000.
Bodo avatar
флаг pt
Если я правильно понимаю, эта конфигурация говорит Apache действовать как прокси и перенаправлять все запросы на `http://127.0.0.1:3000/`, поэтому должен быть HTTP-сервер, прослушивающий порт 3000. Сообщение об ошибке может означать что на этом порту ничего не прослушивается или что он не принимает HTTP-запросы. (Я не знаю какой.) Что вы настроили для прослушивания порта 3000? Возможно, в конфигурации Apache есть что-то, чего вы не указали в вопросе. Как вы написали: «Я не могу найти ... *любого другого*, прослушивающего порт 3000»: вы что-нибудь нашли? сам апач? **Пожалуйста, [отредактируйте] свой вопрос, чтобы ответить на него.**
Рейтинг:0
флаг in

ПРОСТО ПОВТОРЯЮ: @bodo спасибо (см. комментарий). В логе, конечно, так лаконично сказано, что никто не слушает localhost:3000, который как бы "подготовлен и разблокирован" процедурой аутентификации. Я сожалею, что не был достаточно внимательным, чтобы тщательно проверить это ... пометка решена, когда он будет в сети, надеюсь, скоро!

НАКОНЕЦ: Много шума из ничего! Просто пропустил эту маленькую проверку: кто-нибудь слушает? (Хорошо, мои извинения: это всегда так, далее: я недооценил сложность сети зависимостей js-npm-nvm-node). Приятно получить откровение ... спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.