使用 nginx 进行 url 编码

使用 nginx 进行 url 编码

Nginx 改变了我的服务器的行为。我的配置文件如下:

server {
  server_name XXX ;
  location / {
    proxy_pass http://127.0.0.1:8080 ;
  }
}
server {
  listen 443;
  # ssl parameters
  server_name XXX ;
  location / {
    proxy_pass https://127.0.0.1:8081 ;
  }
}

我的服务器响应一个显示所请求 URL 的页面。当我尝试http://XXX/a+b,'+' 变成了 ' ' (空格字符),而不是当我尝试https://XXX/a+b 为了确保它来自 nginx,我尝试使用https://127.0.0.1:8081/a+bhttp://127.0.0.1:8080/a+b,它们都显示‘+’。

如何在 nginx 配置中指定不对 URL 进行解码/编码?

答案1

+为了通过 URL正确传递文字符号,必须将其编码为%2B

我在 proxy_pass 文档中没有看到任何允许您调整 URL 编码的内容。

相关内容