Я хочу передать запрос через прокси /foo/XXX/bar
где XXX
стоимость mycookie
cookie в запросе.
В Nginx это тривиально, но в Apache HTTPD я не нашел способа:
location ~ ^/foo/bar {
proxy_pass http://localhost/foo/$cookie_cust/bar$is_args$args;
proxy_set_header X-Forwarded-For $remote_addr;
}
Как я могу ProxyPass
с определенным значением cookie в Apache 2.4?
А не Apache proxy_pass
Директива использует правило mod_rewrite. Mod_rewrite [P | proxy]
target предоставляет ту же функциональность, что и директива Apache proxy_pass.
Т.е. что-то вроде: (непроверено и, вероятно, не сразу подходит для ваших целей)
RewriteCond %{HTTP_COOKIE} cookiename=([^;]+) [NC]
RewriteRule "/foo/bar/(.*)$" "http://localhost/foo/%1/bar/$1" [P]
где RewriteCond соответствует значению файла cookie с именем "cookiename" и %1
в целевом URL есть обратная ссылка RewriteCond на это значение