Nginx 기본 입문 proxy 역방향 에이전트 상용 설정 항목 설명

알다 시 피 nginx 는 매우 우수한 역방향 프 록 시 서버 입 니 다. 역방향 프 록 시 성능 은 haproxy 와 같 습 니 다. 많은 응용 장면 에서 nginx 는 역방향 프 록 시 서버 + keepalived 의 결합 으로 고성능 을 구축 하고 사용 가능 한 클 러 스 터 를 구축 합 니 다. 다음은 nginx 가 역방향 프 록 시 를 배치 할 때 자주 사용 하 는 설정 매개 변수 에 대한 설명 입 니 다. 다음 과 같 습 니 다.
nginx 역방향 프 록 시 설정 항목 설명
1.1 proxy_pass
proxypass URL;
설정 블록: location, if
이 설정 은 현재 요청 을 URL 매개 변수 가 지정 한 서버 에 역방향 으로 프 록 시 합 니 다. URL 은 호스트 이름 이나 IP 주소 에 포트 를 추가 하 는 형식 일 수 있 습 니 다. 예 를 들 어:
proxy_pass http://localhost:8000/uri/; 

유 닉 스 핸들 일 수도 있 습 니 다.
proxy_pass http://unix:/path/to/backend.socket:/uri/;

또한 위의 부하 균형 에서 보 듯 이 upstream 블록 을 직접 사용 할 수 있 습 니 다. 예 를 들 어:
upstream backend {  
  …  
}  
 
server {  
  location / {  
    proxy_pass  http://backend;  
  }  
}

사용 자 는 HTTP 를 더 안전 한 HTTPS 로 변환 할 수 있 습 니 다. 예 를 들 어:
 proxy_pass https://192.168.0.1; 

기본 적 인 상황 에서 역방향 대 리 는 요청 한 Host 머리 를 전달 하지 않 습 니 다.리 트 윗 이 필요 하 다 면 설정 을 추가 해 야 합 니 다:
proxy_set_header Host $host; 

1.2 proxy_method
proxymethod method;
설정 블록: http, server, location
이 설정 은 전송 할 때의 프로 토 콜 방법 이름 을 표시 합 니 다.예 를 들 어
proxy_method POST;

그러면 클 라 이언 트 가 보 낸 GET 요청 은 리 트 윗 할 때 방법 명도 POST 로 바 뀝 니 다.
1.3 proxy_hide_header
proxyhide_header the_header;
설정 블록: http, server, location
Nginx 는 상위 서버 의 응답 을 클 라 이언 트 에 전송 하지만 기본적으로 다음 HTTP 헤드 필드: Date, Server, X - Pad 와 X - Accel - * 를 전송 하지 않 습 니 다.proxy 사용hide_header 후 어떤 HTTP 헤드 필드 가 전송 되 지 않 는 지 임의로 지정 할 수 있 습 니 다.예 를 들 면:
proxy_hide_header Cache-Control;  
proxy_hide_header MicrosoftOfficeWebServer;


1.4 proxy_pass_header
proxypass_header the_header;
설정 블록: http, server, location
proxyhide_header 기능 반대, proxypass_헤 더 는 원래 퍼 가기 가 금 지 된 헤 더 를 퍼 가기 허용 으로 설정 합 니 다.예 를 들 면:
proxy_pass_header X-Accel-Redirect;

1.5 proxy_pass_request_body
proxypass_request_body on | off;
기본 값: proxypass_request_body on;
설정 블록: http, server, location
상위 서버 에 HTTP 패키지 부분 을 보 낼 지 여 부 를 확인 하 는 역할 을 합 니 다.
1.6 proxy_pass_request_headers
proxypass_request_headers on | off;
기본 값: proxypass_request_headers on;
설정 블록: http, server, location
HTTP 헤드 전송 여 부 를 확인 하 는 역할 을 합 니 다.
1.7 proxy_redirect
proxyredirect [ default|off|redirect replacement ];
기본 값: proxyredirect default;
설정 블록: http, server, location
상위 서버 가 되 돌아 오 는 응답 이 방향 을 바 꾸 거나 새로 고침 요청 (예 를 들 어 HTTP 응답 코드 가 301 또는 302) 일 때 proxyredirect 는 HTTP 머리의 location 이나 refresh 필드 를 다시 설정 할 수 있 습 니 다.
예 를 들 어 상위 서버 에서 보 내 는 응답 이 302 리 셋 요청 이 라면 location 필드 의 URL 은:http://localhost:8000/two/some/uri/그러면 아래 설정 상황 에서 실제 클 라 이언 트 에 게 전달 하 는 location 는?http://frontend/one/some/uri/。
proxy_redirect http://localhost:8000/two/ http://frontend/one/; 

여기에 ngx - http - core - module 이 제공 하 는 변 수 를 사용 하여 새로운 location 필드 를 설정 할 수 있 습 니 다.예컨대
proxy_redirect   http://localhost:8000/    http://$host:$server_port/;

replacement 매개 변수 에 있 는 호스트 이름 부분 도 생략 할 수 있 습 니 다. 이 때 가상 호스트 이름 으로 채 웁 니 다.예 를 들 면:
proxy_redirect http://localhost:8000/two/ /one/;
off 인 자 를 사용 할 때 location 이나 refresh 필드 를 변 하지 않 습 니 다.예 를 들 면:
proxy_redirect off;
기본 default 인 자 를 사용 할 때 proxypass 설정 항목 과 소속 location 설정 항목 을 클 라 이언 트 의 location 머리 로 재 구성 합 니 다.예 를 들 어 다음 두 가지 설정 효 과 는 같 습 니 다.                                   
location /one/ {  
 proxy_pass       http://upstream:port/two/;  
 proxy_redirect   default;  
}  
 
location /one/ {  
proxy_pass       http://upstream:port/two/;  
proxy_redirect   http://upstream:port/two/   /one/;  
}

1.8 proxy_next_upstream
proxynext_upstream [error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_404 | off ];
기본 값: proxynext_upstream error timeout;
설정 블록: http, server, location
 이 설정 은 상류 서버 에 전송 요청 이 잘못 되 었 을 때 상류 서버 로 변경 하여 이 요청 을 처리 하 는 것 을 표시 합 니 다.앞서 말 했 듯 이 상위 서버 가 응답 을 보 내기 시작 하면 Nginx 는 프 록 시 서버 에 응답 패 키 지 를 클 라 이언 트 에 게 즉시 전달 합 니 다.따라서 Nginx 가 클 라 이언 트 에 응답 패 키 지 를 보 내기 시작 하면 그 후에 오류 가 발생 하면 다음 상위 서버 를 바 꾸 어 계속 처리 할 수 없습니다.이것 은 이해 하기 쉽다. 그래 야 클 라 이언 트 가 상류 서버 로부터 만 응답 을 받 을 수 있다 는 것 을 더욱 잘 보장 할 수 있다.proxy_next_upstream 의 인 자 는 다음 상위 서버 퍼 가기 요청 을 계속 선택 하 는 지 설명 합 니 다.
error: 상위 서버 에 연결, 요청 보 내기, 응답 읽 기 오류 가 발생 했 습 니 다.
timeout: 요청 을 보 내 거나 응답 을 읽 을 때 시간 이 초과 되 었 습 니 다.
invalid_header: 상류 서버 에서 보 내 는 응답 은 비합법적 입 니 다.
http_500: 상위 서버 에서 돌아 오 는 HTTP 응답 코드 는 500 입 니 다.
http_502: 상위 서버 에서 돌아 오 는 HTTP 응답 코드 는 502 입 니 다.
http_503: 상위 서버 에서 돌아 오 는 HTTP 응답 코드 는 503 입 니 다.
http_504: 상위 서버 에서 돌아 오 는 HTTP 응답 코드 는 504 입 니 다.
http_404: 상위 서버 에서 돌아 오 는 HTTP 응답 코드 는 404 입 니 다.
off: proxy 닫 기next_upstream 기능 - 오류 가 발생 하면 다른 상위 서버 를 선택 하여 다시 전송 합 니 다.
 Nginx 의 역방향 프 록 시 모듈 은 연결 시간 초과 설정, 임시 파일 저장 방법, 상위 서버 응답 을 캐 시 하 는 가장 중요 한 방법 등 여러 가지 설정 을 제공 합 니 다.이 설정 들 은 ngx 를 읽 을 수 있 습 니 다.http_proxy_모듈 모듈 의 설명 은 깊이 이해 해야만 고성능 의 역방향 프 록 시 서버 를 실현 할 수 있다.
위 에서 말 한 것 은 nginx 역방향 에이전트 의 기본 설정 매개 변수 설명 입 니 다. nginx 의 역방향 에이전트 에 관 한 설정 을 자세히 알 고 싶 으 면 방문 하 십시오.http://nginx.org/en/docs/http/ngx_http_proxy_module.html

좋은 웹페이지 즐겨찾기