Nginx 접근 에 불필요 한 인자 삭제

문제: 전단 개발 보고서 입 니 다. 제 데이터 팀 에서 데 이 터 를 가 져 와 야 하 는데 도 메 인 을 넘 었 습 니 다.
  크로스 필드 해결: 백 엔 드 를 대리 로 하고 url 요청 을 우리 데이터 그룹의 url 로 대리 합 니 다.
  크로스 오 버 를 해결 한 후에 또 새로운 문제 가 발생 했다.전단 서버 에서 데이터 그룹 데 이 터 를 요청 하 는 url 은 token 인 자 를 가지 고 있 습 니 다.우리 백 엔 드 의 token 이라는 식별 할 수 없 는 매개 변수 에 대한 보고 매개 변수 가 이상 합 니 다.
해결 방법 은 nginx 프 록 시 를 통 해 요청 파 라 메 터 를 수정 하 는 것 입 니 다. 즉, server 에서 nginx 전역 파 라 메 터 를 수정 하 는 것 입 니 다. 즉, nginx 에서 $args 변 수 를 수정 하 는 것 입 니 다. 
    다음 nginx 의 인자 학습
  • $args : #이 변 수 는 요청 줄 의 인자 와 같 습 니 다. $querystring
  • $content_length : 요청 헤더 의 Content - length 필드 입 니 다
  • $content_type : 요청 헤더 의 Content - Type 필드 입 니 다
  • $document_root : 현재 루트 명령 에서 지정 한 값 을 요청 합 니 다
  • $host : 호스트 헤드 필드 를 요청 하 십시오. 그렇지 않 으 면 서버 이름 입 니 다
  • $http_user_agent : 클 라 이언 트 에이전트 정보
  • $http_cookie : 클 라 이언 트 쿠키 정보
  • $limit_rate : 이 변 수 는 연결 속 도 를 제한 할 수 있 습 니 다
  • $request_method : 클 라 이언 트 가 요청 한 동작 은 보통 GET 나 POST 입 니 다
  • $remote_addr : 클 라 이언 트 의 IP 주소
  • $remote_port : 클 라 이언 트 의 포트
  • $remote_user : Auth Basic Module 에서 검 증 된 사용자 이름 입 니 다
  • $request_filename : 현재 요청 한 파일 경 로 는 루트 나 alias 명령 과 URI 요청 으로 생 성 됩 니 다
  • $scheme : HTTP 방법 (예: http, https)..
  • $server_protocol : 요청 한 프로 토 콜 은 보통 HTTP / 1.0 또는 HTTP / 1.1 입 니 다
  • $server_addr : 서버 주 소 는 시스템 호출 을 완료 한 후에 이 값 을 확인 할 수 있 습 니 다
  • $server_name : 서버 이름..
  • $server_port : 서버 에 도착 할 포트 번 호 를 요청 합 니 다
  • $request_uri : 요청 매개 변 수 를 포함 하 는 원본 URI 입 니 다. 예 를 들 어 "/ foo / bar. php? arg = baz" 와 같은 호스트 이름 은 포함 되 지 않 습 니 다
  • $uri : 요청 인자 가 없 는 현재 URI, $uri 는 호스트 이름 을 포함 하지 않 습 니 다. 예 를 들 어 "/ foo / bar. html"
  • $document_uri : $uri 와 같 습 니 다

  • nginx 설정:
        location / {
                if ($args ~ "^(.*)(&token=.*)(&*.*)$") {
                 set $args $1$3;
    }
                proxy_pass http://localhost:00000;
                            proxy_http_version 1.1;
                            proxy_set_header Upgrade $http_upgrade;
                            proxy_set_header Connection 'upgrade';
                            proxy_set_header Host $host;
                            proxy_cache_bypass $http_upgrade;
                            add_header Access-Control-Allow-Origin *;
            }
    

       $args 요청 한 인자 입 니 다.
       if 정규 일치 요청 인자 입 니 다.
      ^$정규 표현 식 의 시작 과 끝 을 나타 낸다
      이 정규 표현 식 은 세 부분 으로 나 뉜 다.
    (.*) 시작 을 표시 합 니 다. (& token =. *) token 매개 변수 일치 (& *. *) $  매 칭
      저 희 는 token 인 자 를 삭제 하려 고 합 니 다. 모든 $args 에 값 을 다시 부여 하고 세 개의 일치 용 $1, $2, $3 으로 표시 합 니 다.
     set $args $3 은 $2 의 값 을 제거 하 는 것 을 표시 합 니 다. 
     인 자 를 추가 할 필요 가 있다 면: set  $args $1$3&aaa=1111
     
    nginx 는 rewrite, location 의 용법 등 도 있다.

    좋은 웹페이지 즐겨찾기