Проблема при попытке обратного прокси-сервера с Apache (в Windows) через сокет домена Unix на TomcatApache

Ответить
Anonymous
 Проблема при попытке обратного прокси-сервера с Apache (в Windows) через сокет домена Unix на Tomcat

Сообщение Anonymous »

Запуск Apache 2.4.57 и Tomcat 11.0.18 в Windows 11.
Я пытаюсь заставить Apache переключить прокси-сервер на Tomcat через сокет домена Unix. Я проверил это на Ubuntu, и это работает. Я не уверен, поддерживается ли это в Windows?
Вот моя настройка: Tomcat настроен на прием соединений через http-порт 8080 и через сокет и успешный тест с использованием .\curl --unix-socket c:/tmp/tomcat.sock http://localhost:8080 .
Изначально Apache настроен на обратный прокси-сервер через http, и тест прошел успешно:

Код: Выделить всё

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Затем я модифицировал Apache для использования сокета Tomcat:

Код: Выделить всё

ProxyPass / "unix:/tmp/tomcat.sock|http://localhost:8080"
ProxyPassReverse / "unix:/tmp/tomcat.sock|http://localhost:8080"
Я перезапустил Apache и повторил тестирование, которое не удалось с этой ошибкой. Журнал:

Код: Выделить всё

[proxy_http2:info] [pid 34884:tid 460] AH03349: mod_proxy_http2 (v2.0.11, nghttp2 1.52.0), initializing...
[mpm_winnt:notice] [pid 34884:tid 460] AH00455: Apache/2.4.57 (Win64) configured -- resuming normal operations
[mpm_winnt:notice] [pid 34884:tid 460] AH00456: Apache Lounge VS17 Server built: Apr  3 2023 11:28:13
[core:notice] [pid 34884:tid 460] AH00094: Command line: 'C:\\tmp\\ap\\Apache24\\bin\\httpd.exe -d C:/tmp/ap/Apache24 -D FOREGROUND'
[core:debug] [pid 34884:tid 460] log.c(1570): AH02639: Using SO_REUSEPORT: no (0)
[mpm_winnt:notice] [pid 34884:tid 460] AH00418: Parent: Created child process 39396
[mpm_winnt:debug] [pid 34884:tid 460] mpm_winnt.c(430): AH00402: Parent: Sent the scoreboard to the child
[core:trace3] [pid 39396:tid 460] core.c(3471): Setting LogLevel for all modules to trace6
[core:trace6] [pid 39396:tid 460] core.c(3488): Cannot find module 'proxy', trying 'proxy_module'
[core:trace3] [pid 39396:tid 460] core.c(3498): Setting LogLevel for module mod_proxy.c to trace8
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::b21a:6164:c79f:8787. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::b21a:6164:c79f:8787.  Set the 'ServerName' directive globally to suppress this message
[proxy_http2:info] [pid 39396:tid 460] AH03349: mod_proxy_http2 (v2.0.11, nghttp2 1.52.0), initializing...
[mpm_winnt:debug] [pid 39396:tid 460] mpm_winnt.c(1716): AH00453: Child process is running
[mpm_winnt:debug] [pid 39396:tid 460] mpm_winnt.c(344): AH00391: Child: Retrieved our scoreboard from the parent.
[mpm_winnt:debug] [pid 39396:tid 460] mpm_winnt.c(466): AH00403: Child: Waiting for data for listening socket 0.0.0.0:80
[mpm_winnt:debug] [pid 34884:tid 460] mpm_winnt.c(513): AH00408: Parent: Duplicating socket 536 (0.0.0.0:80) and sending it to child process 39396
[mpm_winnt:debug] [pid 34884:tid 460] mpm_winnt.c(513): AH00408: Parent: Duplicating socket 532 ([::]:80) and sending it to child process 39396
[mpm_winnt:debug] [pid 34884:tid 460] mpm_winnt.c(532): AH00411: Parent: Sent 2 listeners to child 39396
[core:trace4] [pid 34884:tid 460] mpm_common.c(538): mpm child 39396 (gen 0/slot 0) started
[mpm_winnt:debug] [pid 39396:tid 460] mpm_winnt.c(466): AH00403: Child: Waiting for data for listening socket [::]:80
[mpm_winnt:debug] [pid 39396:tid 460] mpm_winnt.c(491): AH00407: Child: retrieved 2 listeners from parent
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2153): AH00925: initializing worker unix:C:/tmp/tomcat.sock|http://localhost:8080 shared
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2213): AH00927: initializing worker unix:C:/tmp/tomcat.sock|http://localhost:8080 local
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2244): AH00930: initialized pool in child 39396 for (localhost:8080) min=0 max=64 smax=64
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2153): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2213): AH00927: initializing worker proxy:reverse local
[proxy:debug] [pid 39396:tid 460] proxy_util.c(2244): AH00930: initialized pool in child 39396 for (*:80) min=0 max=64 smax=64
[mpm_winnt:debug] [pid 39396:tid 460] child.c(986): AH00352: Child: Acquired the start mutex.
[mpm_winnt:notice] [pid 39396:tid 460] AH00354: Child: Starting 64 worker threads.
[mpm_winnt:debug] [pid 39396:tid 1224] child.c(430): AH00334: Child: Accept thread listening on 0.0.0.0:80 using AcceptFilter connect
[mpm_winnt:debug] [pid 39396:tid 1248] child.c(430): AH00334: Child: Accept thread listening on [::]:80 using AcceptFilter connect
[core:trace5] [pid 39396:tid 1236] protocol.c(713): [client 127.0.0.1:51362] Request received from client: GET / HTTP/1.1
[http:trace4] [pid 39396:tid 1236] http_request.c(435): [client 127.0.0.1:51362] Headers received from client:
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Host: localhost
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64;  rv:147.0) Gecko/20100101 Firefox/147.0
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Accept-Language: en-US,en;q=0.9
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Accept-Encoding: gzip, deflate, br, zstd
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Connection: keep-alive
[http:trace4] [pid 39396:tid 1236] http_request.c(438): [client 127.0.0.1:51362]   Upgrade-Insecure-Requests: 1
[proxy:trace2] [pid 39396:tid 1236] mod_proxy.c(884): [client 127.0.0.1:51362] AH03461: attempting to match URI path '/' against prefix '/' for proxying
[proxy:trace1] [pid 39396:tid 1236] mod_proxy.c(1005): [client 127.0.0.1:51362] AH03464: URI path '/' matches proxy handler 'proxy:http://localhost:8080'
[authz_core:debug] [pid 39396:tid 1236] mod_authz_core.c(843): [client 127.0.0.1:51362] AH01628: authorization result: granted (no directives)
[core:trace3] [pid 39396:tid 1236] request.c(360): [client 127.0.0.1:51362] request authorized without authentication by access_checker_ex hook: /
[proxy_http:trace1] [pid 39396:tid 1236] mod_proxy_http.c(97): [client 127.0.0.1:51362] HTTP: canonicalising URL http://localhost:8080
[proxy:trace2] [pid 39396:tid 1236] proxy_util.c(2370): [client 127.0.0.1:51362] http: found worker http://localhost:8080 for http://localhost:8080/
[proxy:debug] [pid 39396:tid 1236] mod_proxy.c(1511): [client 127.0.0.1:51362] AH01143: Running scheme http handler (attempt 0)
[proxy_http:trace1] [pid 39396:tid 1236] mod_proxy_http.c(1910): [client 127.0.0.1:51362] HTTP: serving URL http://localhost:8080/
[proxy:debug] [pid 39396:tid 1236] proxy_util.c(2568): AH00942: http: has acquired connection for (localhost:8080)
[proxy:debug] [pid 39396:tid 1236] proxy_util.c(2626): [client 127.0.0.1:51362] AH00944: connecting http://localhost:8080/ to localhost:8080
[proxy:debug] [pid 39396:tid 1236] proxy_util.c(2662): [client 127.0.0.1:51362] AH02545: http: has determined UDS as C:/tmp/tomcat.sock
[proxy:debug] [pid 39396:tid 1236] proxy_util.c(2849): [client 127.0.0.1:51362] AH00947: connected / to httpd-UDS:0
[proxy:trace2] [pid 39396:tid 1236] proxy_util.c(3287): http: fam 23 socket created to connect to localhost:8080
[proxy:debug] [pid 39396:tid 1236] proxy_util.c(3311): (OS 10049)The requested address is not valid in its context.  : AH00957: http: attempt to connect to [::]:0 (localhost:8080) failed
[proxy:trace2] [pid 39396:tid 1236] proxy_util.c(3287): http: fam 2 socket created to connect to localhost:8080
[proxy:error] [pid 39396:tid 1236] (OS 10049)The requested address is not valid in its context.  : AH00957: http: attempt to connect to 0.0.0.0:0 (localhost:8080) failed
Спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ain-socket
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»