Прокси на основе параметра в URL - PullRequest
4 голосов
/ 27 декабря 2011

Я хочу использовать Apache HTTPd в качестве прокси-сервера:

Если пользователь запрашивает http://xxx?st=yyy, выбранным внутренним сервером должен быть server1. Если пользователь запрашивает http://xxx (без параметра st), то внутренний сервер должен быть server2.

Я хочу знать, как мне нужно настроить Apache для достижения этой цели.

1 Ответ

3 голосов
/ 27 декабря 2011

Посмотрите на http://httpd.apache.org/docs/current/mod/mod_rewrite.html и примеры;в частности, вам помогает тот факт, что:

  • REQUEST_URI Компонент пути запрошенного URI, например, "/index.html".Это , в частности, исключает строку запроса, которая доступна как его собственная переменная с именем QUERY_STRING.

, которая затем позволяет вам делать такие вещи, как

RewriteCond  %{QUERY_STRING}  ^$
RewriteRule ^/foo/(.*)$ http://server2/$1 [P,L]

RewriteRule ^/foo/(.*)$ http://server1/$1 [P,L]

и т. Д.на.Если это весь сервер - удалите / foo / и / перед $ 1 - если это зависит от сервера - поместите перед ним дополнительный RewriteCond для ограничения до определенного хоста и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...