在 Nginx 中,默认情况下,当你使用 proxy_pass
指令时,它会对请求 URI 进行解码,这意味着 %20
会被转换为空格。为了避免这种情况,可以使用 proxy_pass
的 $request_uri
变量来保留原始的请求 URI 编码。
以下是一个示例配置:
location /your_location {
proxy_pass http://127.0.0.1:8081$request_uri;
}
解释
- 使用
$request_uri
可以保持原始请求 URI 的编码,包括任何百分号编码(如%20
)。 - 此外,确保在设置
proxy_pass
时,不要将后面的/
包含在内,以防止 Nginx 对路径进行额外的处理。
这样配置后,请求中的 %20
将保持不变,而不是转换为空格。
内容由零声教学AI助手提供,问题来源于学员提问