Nginx Rewrite 규칙 기록

18101 단어 rewrite
Rewrite 는 서버 의 재 작성 펄스 기술 로 서버 가 URL 재 작성 을 지원 할 수 있 고 최신 유행 하 는 서버 기술 이다.특정 IP 의 사이트 방문 을 제한 하 는 기능 도 가능 하 다.많은 경우, 어떤 IP 의 접근 은 CPU 100% (예 를 들 어 일부 검색엔진 의 고정 캡 처, 다른 사람의 대량 채집 사이트) 를 만 들 기 쉽다. 이 럴 때 우 리 는 효과 적 인 수단 으로 상대방 의 IP 를 차단 하여 서버 의 자원 을 소모 하지 못 하 게 해 야 한다. IP 를 차단 하 는 방법 은 여러 가지 가 있다. 만약 당신 의 웹 Nginx | Apache | other)서버 에 Rewrite 모듈 이 설치 되 어 있다 면 Rewrite 규칙 을 이용 해 상대방 의 IP 를 차단 해 보 세 요.
 
최근 작업 중 에 이런 일이 발생 했 습 니 다. 한 웹 서 비 스 는 JAVA 에서 PHP 로 바 뀌 었 습 니 다. 프로그램의 원인 으로 인해 인터페이스의 이름 이 바 뀌 었 습 니 다. 여 기 는 위 정적 으로 요청 인터페이스의 요청 을 정상적으로 처리 할 수 있 도록 해 야 합 니 다. 먼저 rewrite 명령 을 보 세 요.
1set        2if if       rewrite            ,           httpheadercookie ### if        true,   if     ### ###           ,          0          false### ###       ,   =   !=###  ~ #          # ~* #         # !~ #!    find ! -name "True",     # !~* #  # -f        -d        -e     ,           -x         Example ###  User-Agent  MSIE  rewrite /msie/  ### if ($http_user_agent ~ MSIE) { rewrite ^(.*)$ /msie/$1 break; } ###        ,  444(       ) if (!-e $request_filename) { return 444; ###      rewrite      ### }

 
return 명령 에 대하 여
  : return code    : server,location,if  1xx(    )        100 (  )                      ,        。 101 (    )              ,           。 2xx (  )        200 (  )    ,              。 201 (   )  202 (   )         ,     。 203 (     )            ,              。 204 (   )           ,         。 205 (    )           ,         。 206 (    )            GET  3xx (   )        ,       。   ,           。       300 (    )     ,          。           (user agent)       ,             。 301 (    )   GET   HEAD      ) ,            。 302 (    )                  ,                     。 303 (      )                  GET         ,        。 304 (   )        ,         。          ,        。 305 (    )            ,           。 307 (     )                  ,                     。 4xx(    )               ,         。       400 (    )  401 (   )           ,          。 403 (  )  404 (   )            。 405 (    )           。 406 (   )                   。 407 (      )        401(   )  ,              。 408 (    )             。 409 (  )              。                   。 410 (   )             ,          。 411 (      )                      。 412 (       )                         。 413 (      )          ,        ,          。 414 (    URI   )     URI(     )  ,       。 415 (        )               。 416 (         )              ,            。 417 (      )       "  "         。 444 (   HTTP   )      Header        。 5xx(     )                          。                ,       。       500 (       )        ,      。 501 (    )              。   ,                    。 502 (    )           ,            。 503 (     )          (         )。   ,       。 504 (    )           ,                。 505 (HTTP       )              HTTP     。

 
rewrite 플래그 위치:
###Nginx URL rewrite     rewrite  ,    10 ,  10         HTTP CODE 500### break :   rewrite  ,       break flag rewrite      ,     rewrite      last :   rewrite  ,   break      ,last           ,      nginx location       redirect :   302     ,           URL(  http:  ) permanent :   301     ,           URL(  http:  ) Example: ###Rewrite Rules### rewrite /test.php /last.php last; rewrite /301.php /permanent.php permanent; [root@Nginx-one www.ipython.me]# curl -I 1.1.1.10/test.php HTTP/1.1 200 OK Server: nginx/1.6.0 Date: Sun, 07 Sep 2014 01:05:32 GMT Content-Type: text/html Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/5.5.13 [root@Nginx-one www.ipython.me]# curl -I 1.1.1.10/301.php HTTP/1.1 301 Moved Permanently Server: nginx/1.6.0 Date: Sun, 07 Sep 2014 01:05:35 GMT Content-Type: text/html Content-Length: 184 Location: http://1.1.1.10/permanent.php Connection: keep-alive 

 
rewrite 에서 사용 할 수 있 는 전역 변수 의미 전송 문
    $args    $content_length    $content_type    $document_root    $document_uri    $host    $http_user_agent    $http_cookie    $limit_rate    $request_body_file    $request_method    $remote_addr    $remote_port   $remote_user    $request_filename    $request_uri    $query_string    $scheme    $server_protocol    $server_addr    $server_name    $server_port    $uri
 
» 전재 보존 저작권:
그것 은 천 일 »
《 기록 Nginx Rewrite 규칙 》
» 본문 링크 주소:
http://www.ipython.me/centos/nginx-rewrite-rules.html
» 본 고의 판권 채택:
BY-NC-SA 협의 에 권한 을 부여 하고 출처 를 전재 한다.IT - tools, 뉴스 및 특별 표 시 를 제외 하고 본 사이트 의 모든 글 은 오리지널 입 니 다.
» 마음 에 들 면:
이 사이트 구독 을 누 르 십시오

좋은 웹페이지 즐겨찾기