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+b 和http://127.0.0.1:8080/a+b,它们都显示‘+’。
如何在 nginx 配置中指定不对 URL 进行解码/编码?
答案1
+
为了通过 URL正确传递文字符号,必须将其编码为%2B
。
我在 proxy_pass 文档中没有看到任何允许您调整 URL 编码的内容。