nginx-伤心的事
今天测试接口,总是出问题,测试了两天,整个流程就卡在最后一步。
每次采用curl,request等请求访问我的服务器都会返回403状态码,网上找了很多资料
有权限的,有静态文件的,然而很多都没有什么卵用,天下文章一大抄
找了公司的技术总监帮我看了下,原来是nginx里配置了反爬策略,导致有些请求过不来
server {
listen ;
server_name xxx.xxx.com;
charset utf-;
#include /etc/nginx/anti_spider.conf; ###就这个破玩意,
# max upload size
client_max_body_size 75M;
location /static {
alias /home/data/my_web_project/idfa_switch/allstatic;
}
location / {
uwsgi_pass django;
include uwsgi_params;
}
}
接下来看看这个破东西到底是什么
#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return ;
} #禁止指定UA及UA为空的访问
if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|M
icrosoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|YandexBot|FlightDeckReports|Linguee Bot|^$" ) { return 403;
} #禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return ;
} #屏蔽单个IP的命令是
#deny 123.45.6.7
#封整个段即从123.0.0.1到123.255.255.254的命令
#deny 123.0.0.0/
#封IP段即从123.45.0.1到123.45.255.254的命令
#deny 124.45.0.0/
#封IP段即从123.45.6.1到123.45.6.254的命令是
#deny 123.45.6.0/ # 以下IP皆为流氓
# deny 58.95.66.0/;
可以看到很多请求过来都是返回403.。这次教训记住了,第二次犯错。。
遇到403不只是权限和静态文件不存在,还有可能是反爬策略,找到这个文件,直接注释了就可以完美解决
nginx-伤心的事的更多相关文章
- 谈谈 Nginx 那点事【一】
为什么突然决定总结Nginx ? 不知不觉8月份又要过完了,时间真是个无情的崽种. 写Nginx 首先,主要源于最近项目部署工作中和公司技术中心的人对接部署相关事宜流程太繁琐了.每个部门有各自的工作安 ...
- 编译安装nginx并修改版本头信息—参考实例
今天做实验的时候,想起我那台yum安装的nginx+php-fpm+mysql服务器上的nginx版本有点低了,并且还要加两个第3方模块,就去nginx官网下载了最新稳定版nginx-1.0.6,好了 ...
- Nginx能干啥?
Nginx能干的事很多,很强大.官方文档详见点我. Nginx的命令行参数 -? | -h 打印帮助信息 -c file 读取指定配置文件,而不是默认的nginx.conf -g directives ...
- nginx安装及优化
1.pcre及nginx安装包下载 wget http://www.pcre.org/ pcre用yum安装即可 http://nginx.org/en/download.html 2.安装 -安 ...
- nginx reload的原理
nginx启动时,会启动两个进程: 一个是Master进程和worker进程.改变配置后nginx做的事1)改变了nginx配置之后,HUP signal的信号需要发送给主进程.2)主进程首先会检测新 ...
- Linux–Nginx攻略
什么是Nginx Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Ra ...
- Mysql(超级详细)
Mysql(超级详细) (黑小子-余) 一.Mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理 ...
- 关于oi
2015-12-26 今天在机房,楼上的孩子发下来一个exe,善良无知的我打开了那个exe,然后电脑就关机了.萌萌的辅导老师看到之后就不再萌萌哒,他跑到五楼训斥了那群孩子们一顿(自行脑补).出于报复, ...
- C#中HashTable和快速排序的用法
题目主要是写一个程序,分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来. 自从周四拿到题目以后,发现又要用到万恶的数据结构了,不得不说这是我的短板,所有上周20号到 ...
- <心得小记>2015年10月3日 14:16:42
急事,慢慢说:大事,清楚的说: 小事,幽默的说了:没把握的事,谨慎的说: 没发生的事,不要胡说:做不到的事,别乱说: 伤害人的事,不能说:讨厌的事,对事不对人的说: 开心的事,看场合说:伤心的事,不要 ...
随机推荐
- flask中的上下文_请求上下文和应用上下文
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点. 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__.__getattr__系列.__get ...
- 数据库质疑或只有MDF文件资料
--允许进行系统表的操作 use master declare @databasename varchar(255) set @databasename='Blwy BarCode' --1.如果用户 ...
- Centos7 安装python3详细教程,解决升级后不兼容问题
一.确认当前python版本 [root@centos Python-3.6.1]# python Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC ...
- [SQL server] IF ELSE 和 CASE WHEN 的用法
/*判断一个数如果大于10,按10统计,如果小于0,按0统计*/ --方法a DECLARE @AA INT SET @AA=15 IF @AA>10 SELECT 10 ELSE IF @AA ...
- SPOJ GSS7 Can you answer these queries VII ——树链剖分 线段树
[题目分析] 问题放到了树上,直接链剖+线段树搞一搞. 调了300行+. (还是码力不够) [代码] #include <cstdio> #include <cstring> ...
- c++ primer note
---恢复内容开始--- 1.decltype 2.auto 3.cbegin 4.cend 5.constexpr 6.(*Parray)[10]=&arr; //Parray 指向一个含有 ...
- BZOJ3295 动态逆序对(树状数组套线段树)
[Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 6058 Solved: 2117[Submit][Status][D ...
- EC++学习笔记(二) 构造/析构/赋值
条款05:了解c++默默编写并调用了哪些函数 编译器可以暗自为 class 创建default构造函数,copy构造函数,copy assignment操作和析构函数所有这些函数都是 public 并 ...
- echarts3样例
<script type="text/javascript" src="echarts.min.js"></script> <di ...
- nosql整理
Nosql: Redis,Memcache,MongoDB,Hbase,Couchbase LevelDB https://www.cnblogs.com/lina520/p/7919551.htm ...