我使用nginx作为apache服务器的代理.
这是我的配置:
location ~ ^/subsite/(.*)$ {
proxy_pass http://127.0.0.1/subsite/$1?$query_string;
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我发送%20的请求,如mywebsite.com/subsite/variable/value/title/Access%20denied/another/example
%20被替换为空格,并且apache不关心Access/title/Access之后请求的所有结尾
任何的想法 ?
小智 15
我能够解决类似的问题 - 我们有一个api,要求搜索条件成为URL路径的一部分.将输出直接传递给proxy_pass指令会导致它抛出502即使请求被正确地进行了url编码.
这是我们提出的解决方案:
location ~ /api/search(/.*) {
set $query $1;
proxy_pass http://127.0.0.1:3003$query;
}
Run Code Online (Sandbox Code Playgroud)
"set"指令似乎保持url编码完整(或重新编码正则表达式在$ 1中传回的内容).
| 归档时间: |
|
| 查看次数: |
3191 次 |
| 最近记录: |