有没有办法过滤类似“GEThttp://example.com“但不过滤像“GET /index.html”这样的变量?换句话说,可以在“If”子句中使用的 Nginx 变量是什么?
问这个问题的原因是我在我的网站日志中看到多个类似这样的请求:“GEThttp://somesite.com/proxyheader“来自搜索免费代理服务器的用户。
答案1
这在 0.8.41 中对我有用:
if ($request ~* "^[^ ]+[ ]+[^:]+://" ) { return 400; }
答案2
您检查过 nginx 配置中的变量吗?
关联:链接文本
你能给我们展示一下你的日志文件吗?http://somesite...一个参数(http://example.com/http://seomsite...)?
此致敬礼,本。