Nginx – 编码(规范化)URI的一部分
我有nginx位置指令,其目的是从proxy_pass指令的URI中“删除”本地化前缀. 例如,要使URI http://example.com/en/lalala使用proxy_pass http://example.com/lalala
这样,当传递给proxy_pass directeve时,rest变量将被解码.这似乎是预期的behavior. 问题是我的URI包含从客户端传递的编码空间
nginx将URI解码为
我可以在我的error.log中看到它. 问题是 – 是否有可能以某种方式使用编码的rest变量,因为它是从客户端传递的? 谢谢. 最佳答案 是的,虽然文档也说:如果指定了proxy_pass而没有URI,则请求URI将以与处理原始请求时客户端发送的格式相同的形式传递给服务器,或者在处理更改的URI时传递完整的规范化请求URI:
Nginx工程师说同样的话:https://serverfault.com/questions/459369/disabling-url-decoding-in-nginx-proxy 但是,如果您将$request_uri附加到proxy_pass(并预先剥离区域设置,它可能由Nginx工程师作为said): (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 仅在一个站点上显示PHP错误
- ruby-on-rails – Foreman无法启动Nginx,但我可以
- ssl – 如何使用Lets Encrypt为子域添加证书
- Gitlab:使用Passenger / Nginx运行Unicorn,Resq
- 使用apt-get install nginx后重新编译nginx
- 配置 – Nginx:指定访问日志位置时我可以使用$s
- Nginx:在特定路径组件的别名内路由到index.php
- 将每个目录.htaccess(Apache)转换为Nginx
- node.js-如何为Heroku Node.js Web应用程序配置N
- node.js – 使用不带子域的Nginx设置多个节点服务