nginx 설정 분석 클 라 이언 트 의 실제 IP 전달
1783 단어 nginx
일부 특수 한 장면 에서 예 를 들 어 바람 제어 와 지불 절 차 는 사용자 의 ip 정 보 를 얻어 야 한다. 그러나 nginx 역방향 대 리 는 도 메 인 을 뛰 어 넘 는 동시에 서버 의 요청 원 을 철저하게 바 꾸 고 사용자 와 서버 의 연결 을 격 리 시 켰 다. 다음 과 같다.
사용자 가 전단 페이지 에 접근 합 니 다.https://a.test.com/index/html'결제 인 터 페 이 스 를 호출 할 때 결제 인터페이스의 주 소 는'https://a.test.com/goPay'그리고 nginx 에서 server 엔 드 로 대리 되 는'https://b.test.com/goPay'。이 때 server 측 에 있어 서 그 가 받 은 요청 은 모두 nginx 서버 에서 온 것 입 니 다. 이때 server 측 에서 기본적으로 가 져 온 ip 은 nginx 서버 의 ip 입 니 다.이것 은 결코 우리 가 원 하 는 것 이 아니다.이 럴 때 다음 설정 을 추가 해 야 합 니 다:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
세 개의 헤 더 는 각각 다음 과 같이 표시 한다.
X-Real-IP ip
X-Real-Port
X-Forwarded-For ip ip
그 중에서 도 X - Real - IP 는 필수 이 며, 후 두 항목 은 선택 하여 기입 한다.1 급 nginx 에이전트 만 존재 할 때 X - Real - IP 와 X - Forward - For 는 일치 하지만, 다단 계 에이전트 가 존재 할 때 X - Forward - For 는 다음 과 같은 형식 으로 변 한다.
X-Forwarded-For: ip, ip, ip...
클 라 이언 트 ip 을 가 져 오 는 과정 에서 X - Forward - for 는 선택 한 것 이지 만 개인 적 으로 안전 문제 가 발생 했 을 때 로그 파일 에 따라 원본 을 되 돌 릴 수 있 도록 유지 하 는 것 을 권장 합 니 다.
구덩이 가 있어 ~
위 설정 을 제외 한 일부 네티즌 들 은 host 의 header 도 주 었 다.
proxy_set_header Host $host;
우선 이 header 는 필요 하지 않 습 니 다. 그 다음 에 이 header host 와 proxypass 리 트 윗 이 발생 하 는 hostheader 는 충돌 하여 인터페이스 502 의 상황 을 초래 할 수 있 습 니 다.그러나 이 설정 이 업 데 이 트 된 후에 nginx 재 부팅 은 nginx - t 를 사용 하여 테스트 를 하 는 것 을 포함 하여 오류 가 발생 하지 않 습 니 다. 이것 은 여러분 이 주의 하 셔 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.