Apache 反向代理 URL 带参数
Apache Reverse Proxy to URL With Parameters
我正在尝试使用 2 台 CentOS 6.5 机器 运行 Apache 2.2.15 设置反向代理,其中 private URL 包含参数(静态, 对于来自 public url) 的所有请求都是一样的,所以设置应该像这样工作:
用户 --> public.url/ --> private.url/?参数=值
用户 --> public.url/anything --> 私有.url/anything?参数=值
我已经使用 /etc/httpd/conf.d/reverse-proxy.conf
中的以下指令成功设置了反向代理
ProxyRequests Off
proxyPass / private.url:80/ connectiontimeout=5 timeout=30
proxyPassReverse / private.url:80/
ProxyPassReverseCookieDomain private.url public.url
<Location />
RequestHeader unset Accept-Encoding
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|private.url|public.url|i"
</Location>
一切都按预期进行:
用户 --> public.url/ --> private.url/
用户 --> public.url/anything --> 私有.url/anything
但是我不确定如何将 ?parameter=value 后缀添加到 private.url
任何指向正确方向的手指将不胜感激!
所以我最终让它按照我想要的方式工作 mod_rewrite
#Check if string already exists
RewriteCond %{QUERY_STRING} !(.*parameter.*) [NC]
#Add the string and keep hidden from user with [P]
RewriteRule ^/(.*)$ public.url/?parameter=value [P]
希望其他人觉得这有用
提醒:根据文档https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
,它在位置上下文中不起作用
我正在尝试使用 2 台 CentOS 6.5 机器 运行 Apache 2.2.15 设置反向代理,其中 private URL 包含参数(静态, 对于来自 public url) 的所有请求都是一样的,所以设置应该像这样工作:
用户 --> public.url/ --> private.url/?参数=值
用户 --> public.url/anything --> 私有.url/anything?参数=值
我已经使用 /etc/httpd/conf.d/reverse-proxy.conf
中的以下指令成功设置了反向代理 ProxyRequests Off
proxyPass / private.url:80/ connectiontimeout=5 timeout=30
proxyPassReverse / private.url:80/
ProxyPassReverseCookieDomain private.url public.url
<Location />
RequestHeader unset Accept-Encoding
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|private.url|public.url|i"
</Location>
一切都按预期进行:
用户 --> public.url/ --> private.url/
用户 --> public.url/anything --> 私有.url/anything
但是我不确定如何将 ?parameter=value 后缀添加到 private.url
任何指向正确方向的手指将不胜感激!
所以我最终让它按照我想要的方式工作 mod_rewrite
#Check if string already exists
RewriteCond %{QUERY_STRING} !(.*parameter.*) [NC]
#Add the string and keep hidden from user with [P]
RewriteRule ^/(.*)$ public.url/?parameter=value [P]
希望其他人觉得这有用
提醒:根据文档https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
,它在位置上下文中不起作用