【发布时间】:2018-01-03 22:01:57
【问题描述】:
我在使用 Nginx 时遇到了问题。 Nginx 代理接收这样的 urlencoded URI。
GET /X/Y/Z.aspx?id=abc%3D%3D
而且,我注意到 Nginx 再次应用了 urlencoding,并将 URI 设置为这样。
GET /X/Y/Z.aspx?id=abc%253D%253D
如何禁用 Nginx 以像这样应用 urlencoding?我想按原样传输 URI。
有没有办法修改请求uri?
根据 Nginx 文档,它说..
$request_uri
full original request URI (with arguments)
所以,我像下面这样指定了 proxy_pass。
proxy_pass http://x.x.x.x$request_uri;
Nginx 仍然发送如下请求。
GET /X/Y/Z.aspx?id=abc%253D%253D
似乎 Nginx 在发送消息时应用了 url 编码。那么,我可以让 Nginx 在收到请求时对其进行解码吗?然后,Nginx 应该在发送时自动对其进行编码,这意味着它以如下预期的参数结束。
GET /X/Y/Z.aspx?id=abc%3D%3D
【问题讨论】:
-
其实这不是 Nginx 的问题。我实际上在 Nginx 之前有另一个代理,它正在解决这个问题。 Nginx 只是传输从这个代理传递过来的消息。所以,至少,这个案子应该结案。以这样的结果为我的帖子道歉。
标签: nginx