我正在尝试使用运行Apache 2.2.15的2台CentOS 6.5计算机设置反向代理,其中私有 URL包含参数(静态,对于通过公共网址发出的所有请求都是相同的),所以设置应该像这样工作:
用户 - > public.url / - > private.url /?参数=值
用户 - > public.url / anything - > private.url /什么?参数=值
我已设法使用/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>
一切都按预期工作:
用户 - &gt; public.url / - &gt; private.url /
用户 - &gt; public.url / anything - &gt; private.url /任何
但是我不知道如何在private.url中添加?parameter = value 后缀
任何指向正确方向的手指都会非常感激!
答案 0 :(得分:1)
所以我最终按照我想要的方式使用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/$1?parameter=value [P]
希望别人找到这个有用的