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

Пропуск прокси со значением cookie в URL

Я хочу передать запрос через прокси /foo/XXX/bar где XXX стоимость mycookie cookie в запросе.

В Nginx это тривиально, но в Apache HTTPD я не нашел способа:

Решение Nginx

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 на это значение