Nginx 에이전트 필터 헤더

1308 단어 기타
목적: Nginx 에이전트 필터 헤더
환경:
  :Centos 7.5
  :x64,nginx 1.4

필요:
  • Nginx 는 부하 균형 을 이 루 고 업무 장면 이 변 경 된 후에 중복 인 코딩 을 피한다.루트 규칙 을 Http 요청 headers 에 넣 고 Nginx 에서 루트 를 필터 합 니 다.

  • 방법 단계:
    1. location 규칙 정의
    	upstream server_test1{
    		server 192.168.1.18:8086  weight=1;
    		server 192.168.1.17:8086  weight=1;
        }
    	upstream server_test2{
    		server 192.168.1.19:8087;
        }
        location = /api/hello/test{
            proxy_pass http://server_test1;
        }
    

    2. location 을 수정 하고 Http header 에서 인 자 를 가 져 온 다음 proxy 를 결정 합 니 다.
    location = /api/hello/test{
        #     ,if (        ,     
        if ($http_sdkVersion = "v1.0") {
    	    proxy_pass http://server_test1;
    	    break;  #      ,       
        }
        proxy_pass http://server_test1;
     }
    

    ps:
  • location = 등호 의 등급 이 가장 높 고 들 어가 서 실행 되면 뒤의 location 은 효력 을 상실 합 니 다.
  • http_sdVersion 은 http 요청 헤더 에서 key 를 sdkVersion 이라는 param 으로 찾 는 것 을 의미 합 니 다.예 를 들 어 {"appId": "cscloud"} 을 필터 할 때 if ($http appId = "cscloud") 를 사용 하면 header 에 이 키 값 이 나타 나 면 if 가 유효 합 니 다.
  • 키 값 에 '-' 의, 사용 '' 이 있 으 면대신, nginx 는 자동 으로 '-' 로 변 환 됩 니 다. 예 를 들 어 X - appId 는 if ($http X appId = "cscloud")
  • 로 작 성 됩 니 다.

    좋은 웹페이지 즐겨찾기