![Nginx 中使用 http:// 过滤请求](https://linux22.com/image/528604/Nginx%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20http%3A%2F%2F%20%E8%BF%87%E6%BB%A4%E8%AF%B7%E6%B1%82.png)
有没有办法过滤类似“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...)?
此致敬礼,本。