Назад | Перейти на главную страницу

Проблема обратного прокси с apache

Я пытаюсь сделать обратный прокси с конфигурацией

<ifModule mod_proxy.c>
ProxyRequests On

<Proxy *>
    Order deny,allow
#    Deny from all
    Allow from all
</Proxy>

ProxyPass        / http://localhost:8080/mysocial
ProxyPassReverse / http://localhost:8080/mysocial

ProxyVia On

<IfModule mod_disk_cache.c>
   CacheEnable disk /
   CacheRoot "/var/cache/mod_proxy"
</IfModule>

</IfModule>

Но когда я пытаюсь получить доступ http://domainname.com Я получаю следующую ошибку в браузере ...

Страница перенаправляется неправильно. Firefox обнаружил, что сервер перенаправляет запрос на этот адрес таким образом, который никогда не будет завершен.

Любая помощь высоко ценится

Похоже, это как-то связано с перенаправлением или перезаписью URL. Если вы пойдете в http: // локальный: 8080 / mysocial вы были перенаправлены на http://domainname.com или любой другой URL?

Я не эксперт по Apache httpd, но я настроил аналогичную вещь, и синтаксис вашей конфигурации мне кажется странным.

во-первых, вероятно, не должно быть ProxyRequests. «ProxyRequests On» позволяет перенаправлять перенаправления, а не обратное проксирование, см.: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxyrequests

ProxyRequests Off
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass / http://localhost:8080/mysocial/
ProxyPassReverse / http://localhost:8080/mysocial/

Я не использовал кеш при настройке прокси, но я думаю, что эта часть должна выглядеть примерно так

<IfModule mod_disk_cache.c>
    CacheEnable disk /
    CacheRoot "/var/cache/mod_proxy"
</IfModule>

выдержки из вашей ошибки и, возможно, журналы доступа также могут помочь отладить эту проблему.

Попробуйте использовать эти директивы:

ProxyPass        /mysocial http://localhost:8080/mysocial
ProxyPassReverse /mysocial http://localhost:8080/mysocial

Вместо тех, которые вы используете.