현재 위치 - 주공해몽공식사이트 - 골격 점술 - Nginx 구성 파일을 사용하여 지정된 요청을 마스킹합니다.

Nginx 구성 파일을 사용하여 지정된 요청을 마스킹합니다.

업무 요구로 인해 nginx 구성에는 몇 가지 요구 사항이 있습니다. 여기 정리해 주세요.

1. 마스킹 요청 모드, POST, GET 등만 허용됩니다.

사이트 액세스를 허용하지 않는 요청 방법이 있을 경우 반환 403 상태 코드를 정의합니다. 예제 구성은 다음과 같습니다.

If ($request_method! ~ (get | post) $)

{

403 을 반환합니다.

}

2. 오류 페이지 정의

때때로 존재하지 않는 페이지를 방문하거나 오류 (예: 403/404/502/503/504/405) 를 보고하거나 500 과 같은 프로그램 오류가 발생할 수 있습니다. 안전과 사용자 편의를 위해 통합 오류 페이지로 이동하고자 합니다. 다음 예제 구성을 추가할 수 있습니다.

Error _ page404 403 502 503/error.html

위치 =/error.html {

루트 html

}

여기서 전제는 지정된 nginx 서버 디렉토리에 오류 페이지를 직접 작성하는 것입니다.

3. 지정된 URL 마스킹

예를 들어, nginx 에서 제공하는 여러 server _ name 이 정적 리소스를 공유하지만 server _ name 이 액세스하려는 리소스는 하나만 있는 경우 예를 들어, 프로그램이 합리적이지 못하여, 생산 환경이 운영될 때 일부 주소가 인터넷을 제공해서는 안 된다는 것을 알게 되었다. 또는 nginx 를 통해 일부 특수 문자와 같은 악의적인 액세스를 필터링하려면 다음 예제 구성을 사용하여 지정된 URL 을 필터링하고 오류 페이지로 이동할 수 있습니다.

If ($ request _ uri ~ * "...; | 테스트1234 | home/test.do ") {

Xxxxxxxxx# # 또는 return 지정 오류 코드를 다시 작성합니다.

}

범위는 서버 또는 위치일 수 있습니다. 위의 표기법은 위 문자열을 포함하는 URL 에 정규 일치를 사용하고, 사용 장면에 따라 조정하고, 이스케이프하고, 여러 문자열을 | 로 구분하는 것입니다.

4. 지정된 IP 주소를 마스킹합니다

예를 들어, 서비스가 IP 주소만 액세스할 수 있도록 지정하거나 배포 후 지정된 IP 에 액세스할 수 없도록 지정할 경우 다음 예제 구성을 사용하여 오류 페이지로 강제로 이동할 수 있습니다.

If ($http_x_forwarded_for! ~ (192.168.3.100 |123./kloc-0

403 을 반환합니다. # 또는 지정된 페이지를 다시 작성하십시오.

}

범위는 서버 또는 위치일 수 있습니다.

5. 더 특이한 수요

나는 서비스, 테스트, 인터넷에 개방되어 있지만 주소 (예: /test/admin.jsp 및 /test/config.jsp) 는 소수의 지정된 사람만 액세스할 수 있고 다른 사람은 액세스할 수 없습니다. 여기서 나는 위의 3 과 4 를 함께 사용한다. 구성 예는 다음과 같습니다.

위치/테스트 {

$ flag0 설정 :

If ($ request _ uri ~ * "admin.jsp | config.jsp") {

$ flag "$ {flag}1";

}

If ($http_x_forwarded_for! ~ (192.168.3.100 |123./kloc-0

$ flag "$ {flag} 2" 설정

}

If ($flag = "0 12" ){

403 을 반환합니다.

}

Proxy _ passxxxxxxxxxxxxxxxx xxxx

Proxy _ set _ header xxxxxxxxxxxxxxxxxxxxxx;

.........................................................................................

}

원래 나는 그것이 사실이라면, flag=flag+ 1 이라고 생각했지만, 아무렇게나 써 보니 옳지 않다는 것을 알게 되자, 이런 익숙한 문자열 접합 방식을 바꾸었고, 다른 길은 같은 길로 돌아갔다. (윌리엄 셰익스피어, 햄릿, 지혜명언)

초기 플래그는 1 입니다. 지정한 URL 을 방문하면 0 1 이 됩니다. 방문한 웹사이트가 우리 화이트리스트에서 허용하는 IP 가 아니면 로고는 0 12 가 됩니다. 마지막으로, 깃발을 판단하고, 시대에 뒤떨어진 방문을 거부한다.

마지막에 쓴다:

실수가 있으면 댓글을 달고 알려 주세요. 용서해 주세요.

Nginx 프로필을 사용하여 지정된 요청에 대한 블로그 _ von 블로그를 마스킹합니다