>  Q&A  >  본문

역방향 프록시 - nginx 프런트엔드 역방향 프록시, 백엔드 아파치는 방문자의 실제 IP를 어떻게 얻나요?

Nginx 안티 생성이 작성되었으며 매개변수 전송을 확인하는 데 문제가 없습니다.

으아악

이제 문제는 내 백엔드 PHP 프로그램이 $_SERVER['REMOTE_ADDR'] 변수에 의존하여 IP를 획득하므로 역세대 서버의 IP를 획득한다는 것입니다.
백엔드는 아파치이고 가상호스트이기 때문에 백엔드를 변경할 가능성은 거의 없습니다.
백엔드 PHP 프로그램은 암호화되어 변경할 수 없습니다.
이제 묻고 싶습니다. 프로그램을 변경하지 않고 X-REAL-IP 또는 HTTP_X_FORWARDED_FOR를 REMOTE_ADDR에 할당할 수 있는 방법이 있습니까? 예를 들어, php.ini를 변경하여 이를 달성할 수 있습니까?
감사합니다. 이 질문은 http://www.hostloc.com/thread-138304-...
를 통해 Hostloc에 게시되었습니다. 저도 같은 문제가 발생했습니다. 조언 부탁드립니다. 감사합니다

阿神阿神2714일 전549

모든 응답(5)나는 대답할 것이다

  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:06:55

    이 기사에서는 nginx+apache 프런트엔드 및 백엔드를 사용하여 웹사이트를 구축할 때 방문자의 실제 IP를 얻는 방법에 대해 설명합니다(이 IP를 얻는 방법은 더 사려 깊습니다). 그러나 PHP 프로그램을 수정해야 합니다. http://www.ithr.org.cn/blogs/blog1.ph...

    하하, 방법을 찾았습니다. "mod_rpaf, Nginx 백엔드의 Apache가 인터넷 IP를 얻도록 하세요" 기사를 읽어보세요: http://www.ithr.org.cn/blogs/blog1.ph...

    회신하다
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:06:55

    이 요구 사항은 약간 가혹합니다. AP를 변경할 수 있는 경우 mod_rpaf를 사용하세요.

    아니요, 간단하게 만드세요. index.php를 만들고 $_SERVER['REMOTE_ADDR'] 값을 할당한 다음 실제 PHP 코드를 호출하세요.

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:06:55

    아파치에서 다시 쓰기를 설정합니다. 모든 PHP 요청은 특정 PHP로 다시 작성됩니다. 으아아아

    또는 더 낮은 수준에서 전달하는 소프트웨어인 HAProxy를 사용해 보세요. 이는 HTTP 프로토콜을 포함하지 않으므로 이러한 HEADER 문제를 고려할 필요가 없습니다.

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 17:06:55

    직접 설정proxy_set_header REMOTE_ADDR $remote_addr;가능하지 않나요?

    회신하다
    0
  • 怪我咯

    怪我咯2017-05-16 17:06:55

    $_SERVER['REMOTE_ADDR']는 변경할 수 없습니다. 요청의 출처는 어디인가요?
    암호화된 코드 위에 쉘을 추가하고 이전 코드에서 언급한 값을 할당하는 것이 좋은 방법입니다

    회신하다
    0
  • 취소회신하다