我要代理/api
域,我有这个位置块。
location ^~ /api/ {
rewrite_log on;
rewrite ^/api/(.*) /$1$is_args$args break;
proxy_pass http://127.0.0.1:1337;
}
只要 URL 没有查询参数,它就可以正常工作,但是一旦有,我就会在上游服务器上收到类似这样的错误Could not find path: /records%3fname=hoegh.io
这里%3f
的问题是一个 URL 编码?
,并且由于它是 URL 编码的,上游服务器无法识别它。这可能会有所延迟,但我希望有可能让 nginx 正确处理这个问题(即在将 URL 传递给代理之前不要转义它)。
有任何想法吗?