使用nginx修复URL中未转义的#

时间:2016-08-10 01:10:36

标签: nginx escaping uri-fragment

错误的HTTP客户端没有转义哈希标志并将它们发送到nginx,如下所示:

GET /foo/escaped%23stuff

而不是:

#

这会破坏我的nginx配置,因为nginx会删除proxy_pass指令中return 200 "$request_uri";之后的文本。如何逃避哈希标志?

  • 使用location确实告诉我nginx正在阅读它,所以看起来它是可能的。但是,Nginx在import socket def get(host, port, uri): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) sock.send('GET {} HTTP/1.0\r\nHost: {}\r\n\r\n'.format(uri, host)) return sock.recv(1000) 块中忽略它,所以我实际上无法将它与任何东西匹配。
  • 您可以使用以下代码在Python中发送未转义的HTTP GET请求:

    #rightDivider

0 个答案:

没有答案