zoukankan      html  css  js  c++  java
  • nginx-伤心的事

    今天测试接口,总是出问题,测试了两天,整个流程就卡在最后一步。

    每次采用curl,request等请求访问我的服务器都会返回403状态码,网上找了很多资料

    有权限的,有静态文件的,然而很多都没有什么卵用,天下文章一大抄

    找了公司的技术总监帮我看了下,原来是nginx里配置了反爬策略,导致有些请求过不来

    server {
            listen      80;
            server_name xxx.xxx.com;
            charset     utf-8;
    
            #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 403;
    }
    
    #禁止指定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 403;
    }
    
    #屏蔽单个IP的命令是
    #deny 123.45.6.7
    #封整个段即从123.0.0.1到123.255.255.254的命令
    #deny 123.0.0.0/8
    #封IP段即从123.45.0.1到123.45.255.254的命令
    #deny 124.45.0.0/16
    #封IP段即从123.45.6.1到123.45.6.254的命令是
    #deny 123.45.6.0/24
    
    # 以下IP皆为流氓
    # deny 58.95.66.0/24;

    可以看到很多请求过来都是返回403.。这次教训记住了,第二次犯错。。

    遇到403不只是权限和静态文件不存在,还有可能是反爬策略,找到这个文件,直接注释了就可以完美解决

  • 相关阅读:
    springboot2.1.3+jacoco检测代码覆盖率
    springboot2.1.3使用mvn site遇到的坑及解决方案
    docker安装mysql5.6(win10家庭版)
    Windows10家庭版安装docker攻略
    python 实例方法,类方法,静态方法的调用
    python超继承
    python 测试生成Htmltestrunner报告几个参数
    Python3 中类的静态方法、普通方法、类方法
    python 操作文件
    1
  • 原文地址:https://www.cnblogs.com/52-qq/p/9626845.html
Copyright © 2011-2022 走看看