Apache Multiple ProxyPass 404
Я пытаюсь настроить прокси через Apache 2 на Ubuntu 14.04. У меня есть два прокси, которые я хочу использовать. Один из них для локального сервера Ruby Thin. Другой - для страницы статистики телефона. Я настроил файл conf со следующим:
<VirtualHost *:80>
Redirect permanent / <ssl_site>
</VirtualHost>
<VirtualHost _default_:443>
--snip certificate info--
--snip contact info--
LogLevel debug
--snip log info--
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
SSLProxyEngine On
<Location />
ProxyPass <Ruby thin server>
ProxyPassReverse <Ruby thin server>
</Location>
<Location /phonestats/>
RequestHeader set Authorization "Basic <Base64 username:password>"
ProxyPreserveHost On
ProxyPass http://phonestats:port/
ProxyPassReverse http://phonestats:port/
</Location>
</VirtualHost>
Однако, когда я пытаюсь перейти в /phonestats/, я получаю ошибку 404. Журнал ошибок показывает следующее:
[Tue Apr 21 10:27:21.042723 2015] [proxy:debug] [pid 3138:tid 139930961352576] proxy_util.c(1694): AH00925: initializing worker <phonestats url> shared
[Tue Apr 21 10:27:21.042727 2015] [proxy:debug] [pid 3138:tid 139930961352576] proxy_util.c(1734): AH00927: initializing worker <phonestats url> local
[Tue Apr 21 10:27:21.042736 2015] [proxy:debug] [pid 3138:tid 139930961352576] proxy_util.c(1769): AH00930: initialized pool in child 3138 for (phonestats) min=0 max=25 smax=25
[Tue Apr 21 10:27:21.043273 2015] [proxy:debug] [pid 3137:tid 139930961352576] proxy_util.c(1694): AH00925: initializing worker <phonestats url> shared
[Tue Apr 21 10:27:21.043277 2015] [proxy:debug] [pid 3137:tid 139930961352576] proxy_util.c(1734): AH00927: initializing worker <phonestats url> local
[Tue Apr 21 10:27:21.043286 2015] [proxy:debug] [pid 3137:tid 139930961352576] proxy_util.c(1769): AH00930: initialized pool in child 3137 for (phonestats) min=0 max=25 smax=25
[Tue Apr 21 10:27:24.902951 2015] [proxy:debug] [pid 3137:tid 139930755913472] proxy_util.c(2072): [client 192.168.3.141:52496] AH00944: connecting <phonestats url> to <phonestats host>
[Tue Apr 21 10:27:29.908518 2015] [proxy:debug] [pid 3137:tid 139930755913472] proxy_util.c(2206): [client 192.168.3.141:52496] AH00947: connected <phonestats path> to <phonestats host>
[Tue Apr 21 10:27:29.909235 2015] [proxy:debug] [pid 3137:tid 139930755913472] proxy_util.c(2610): AH00962: HTTP: connection complete to 192.168.3.21:8081 (phonestats)
[Tue Apr 21 10:27:30.120569 2015] [ssl:debug] [pid 3137:tid 139930730735360] ssl_engine_kernel.c(222): [client 192.168.3.141:52496] AH02034: Subsequent (No.5) HTTPS request received for child 0 (server <server url>), referer: <HTTP referer>
[Tue Apr 21 10:27:30.120614 2015] [authz_core:debug] [pid 3137:tid 139930730735360] mod_authz_core.c(828): [client 192.168.3.141:52496] AH01628: authorization result: granted (no directives), referer: <HTTP referer>
[Tue Apr 21 10:27:30.120646 2015] [proxy:debug] [pid 3137:tid 139930730735360] mod_proxy.c(1104): [client 192.168.3.141:52496] AH01143: Running scheme http handler (attempt 0), referer: <HTTP referer>
[Tue Apr 21 10:27:30.120662 2015] [proxy:debug] [pid 3137:tid 139930730735360] proxy_util.c(2072): [client 192.168.3.141:52496] AH00944: connecting http://<Thin Server>/favicon.ico to <Thin Server>, referer: <HTTP referer>
[Tue Apr 21 10:27:30.120668 2015] [proxy:debug] [pid 3137:tid 139930730735360] proxy_util.c(2206): [client 192.168.3.141:52496] AH00947: connected /favicon.ico to <Thin Server>, referer: <HTTP referer>
Похоже, что после того, как прокси-сервер фонестатов проходит, он пытается передать информацию через другой прокси. Я не уверен, как это остановить или я даже на пути записи.
Это лучше решается с помощью перезаписи URL?
1 ответ
Проблема заключалась в том, что в URL-адресе была строка запроса, к которой я пытался прокси-сервер. К сожалению, я удалил этот URL из журнала ошибок. Хитрость заключалась в том, чтобы сделать следующее:
ProxyPass http://phonestats:port/ nocanon