이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 17771|회답: 1

[웹] nginx는 사용자의 실제 IP 주소를 얻습니다

[링크 복사]
게시됨 2018. 5. 19. 오전 11:38:55 | | | |
일부 인터페이스는 사용자 정보 변경을 포함하며, 이 인터페이스들은 접근 당사자만 조정할 수 있게 해주기 때문에 nginx에 IP 화이트리스트가 있습니다.

이 장치는 접근 당사자의 종료 IP를 갖추고 있습니다.

여기 저희 nginx 접근 로그가 있습니다.



nginx는 $remote_addr을 실제 IP로 사용하지만, 실제로는 $http_X_Forwarded_For가 실제 사용자의 IP이고, $remote_addr은 f5(사용자 -->f5 ---> nginx)의 사설 네트워크 주소일 뿐입니다. 이로 인해 nginx는 잘못된 이름을 사용하게 되고, 인터페이스를 조정하는 사용자는 항상 403이 됩니다.

용액:

HTTP 모듈 플러스에서


set_real_ip_from 10.10.10.122; nginx에게 거기서 RealIP의 값을 가져오라고 하세요
real_ip_header X-Real-IP; RealIP 값을 저장하는 변수의 이름입니다

깡통!

여기 nginx 보고서를 추가한 후 시작합니다:

nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26




그래서 realip 모듈을 추가하고 nginx를 다시 컴파일합니다


1, CD /usr/local/nginx-1.6.3
2, ./configure --prefix=/usr/cmcc/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
3, 제작 및 설치

팁:
1. set_real_ip_from 신뢰할 수 있는 사전 프록시로부터 얻은 실제 사용자 IP를 의미합니다

2. real_ip_header는 이전 프록시 전송의 사용자 IP를 의미하며, 수신된 메시지의 HTTP 부분을 얻습니다

3. real_ip_recursive 사용자 IP를 얻을 때까지 재귀적으로 제외할지 여부 (기본값은 꺼짐)

먼저, 기본적으로 X-Real-IP인 http 헤더 이름을 지정real_ip_header.

(1) IP가 1개라면, 발신자의 IP가 set_real_ip_from에서 지정한 신뢰 IP 목록에 있는지 확인합니다. 신뢰를 받는다면, 이 X-Real-IP의 IP 값이 이전 에이전트가 알려준 사용자의 실제 IP 값으로 인식하여 이 값을 자신의 $remote_addr 변수에 할당합니다; 신뢰하지 않으면 처리되지 않고, $remote_addr은 여전히 발신자의 IP 주소입니다.

(2) 예를 들어 X-Real-Ip에 여러 IP 값이 있을 경우, 이전 프록시는 다음과 같이 설정됩니다: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

결과는 IP 연속이기 때문에 real_ip_recursive의 가치가 지금 매우 중요합니다. nginx는 set_real_ip_from 신뢰 리스트의 IP를 오른쪽 순서에서 왼쪽으로 비교합니다. real_ip_recursive이 어긋나면 가장 오른쪽 IP가 신뢰할 수 있는 IP임이 확인되면, 다음 IP(오른쪽에서 두 번째)가 사용자의 실제 IP라고 생각됩니다. real_ip_recursive가 켜져 있으면 신뢰하지 않는 IP를 찾을 때까지 오른쪽에서 왼쪽으로 비교됩니다. 그 다음 IP 값을 $remote_addr에도 복사하세요.

리소스:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html





이전의:Discuz 사이트맵은 자동으로 생성됩니다
다음:Alibaba Cloud 로드 밸런싱을 사용해 웹사이트 IP 접근을 차단하세요
게시됨 2018. 6. 18. 오후 2:57:50 |
봐, nginx가 진짜 IP를 가져가고 있어.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com