Nginx,重写并启用转义字符

Nginx,重写并启用转义字符

我使用重定向将所有来自 /api/ 的请求路由到我的服务器(端口 5000)。这是我的 nginx.conf:

location /api/ {
  rewrite ^/api/(.*)$ /$1 break;
  proxy_pass  http://100.100.100.100:5000;#my ip here
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

nginx 解码所有转义字符,但我需要原始版本。如何更改我的 nginx.conf?

答案1

可以使用变量来实现不触及转义字符的map重写$request_uri

map $request_uri $request_uri_api {
  ~^/api/(.*)  $1;
}

location /api/ {    
  proxy_pass  http://100.100.100.100:5000/$request_uri_api;
}

相关内容