Как я могу настроить обратный прокси с mod_proxy без перенаправления? - PullRequest
3 голосов
/ 28 мая 2009

Как я могу настроить обратный прокси с mod_proxy без перенаправления на другой сервер или IP? Это будет среда виртуального хоста. Причина, по которой я хочу это сделать, заключается в том, что mod_proxy управляет связью с браузером клиента, освобождая процессы веб-сервера для обслуживания следующего запроса вместо подачи в браузер клиента. Это особенно важно при использовании языковых модулей, таких как mod_php с MPM Prefork. Поток, которого я пытаюсь достичь: 1. Трафик переходит на www.mydomain.com через порт 80. 2. Прокси отправляет запрос на веб-сервер. 3. Веб-сервер отправляет ответ обратно прокси и отключается от прокси. 4. Прокси-канал передает клиентский браузер.

Как только это сработает, я хочу добавить nginx с тем же IP-адресом, но для порта 81 и запросов образа прокси к nginx на том же сервере. Я не хочу, чтобы nginx обрабатывал прокси, и я не хочу ничего FCGI. Я хочу, чтобы мои стандартные Apache mod_rewrite и .htaccess работали.

Спасибо, Тонны!

Ответы [ 2 ]

3 голосов
/ 28 мая 2009

Просто перенаправить на локальный хост через другой порт? Разместите ваше приложение на порту 8080 и используйте mod_proxy для пересылки запросов:

ProxyPass /foo http://localhost:8080/foo
ProxyPassReverse /foo http://localhost:8080/foo

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

Я не знаю, действительно ли это будет быстрее, чем просто использование mod_php напрямую. Запросы на прокси также увеличивают накладные расходы.

0 голосов
/ 30 июня 2009

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

LoadModule proxy_module bin/mod_proxy.so 
LoadModule proxy_http_module bin/mod_proxy_http.so

ProxyPass /TeamCity http://localhost/TeamCity
ProxyPassReverse /TeamCity http://localhost/TeamCity
...