![mod_remoteip를 사용하여 프록시 IP 주소를 표시하는 WordPress](https://rvso.com/image/658358/mod_remoteip%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%94%84%EB%A1%9D%EC%8B%9C%20IP%20%EC%A3%BC%EC%86%8C%EB%A5%BC%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%8A%94%20WordPress.png)
이전에 이것을 설정한 적이 있으며 다른 서버에서도 작동하지만 가능한 이론이 있음에도 불구하고 이 인스턴스에서 작동하지 않는 이유를 평생 알 수 없습니다. 이 모든 것이 Amazon Web Services에 있습니다.
따라서 이 경우 우리는 IIS 8을 사용하여 Windows 서버에서 기본 사이트를 호스팅하고 있습니다. 블로그는 WordPress를 호스팅하기 위해 Ubuntu/Apache 2.4.6을 실행하는 다른 서버에 있습니다. 기본 사이트는 여러 IP 주소를 지원하기 위해 VPC에 있습니다. 블로그가 VPC 외부에 있습니다.
다른 설정(작동)은 모두 IIS 대신 역방향 프록시 서버로 nginx를 사용하고 동일한 VPC에 프록시와 서버를 갖습니다. 그게 정말 중요할까요?
작업 구성에서:
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 172.31.x.x/32
작동하지 않는 구성:
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 54.2x.x.x
나는 또한 다음과 같은 변형을 시도했습니다.
RemoteIPTrustedProxy 54.2x.x.x # tried /32 and /24
RemoteIPInternalProxy 54.x.x.x/32 # also tried /24
RemoteIPTrustedProxy www...
테스트 PHP 페이지를 사용하여 작동하는지 확인하면 다음과 같은 내용이 표시됩니다 print_r($_SERVER);
.
[HTTP_X_FORWARDED_BY] => www.....
[HTTP_X_FORWARDED_FOR] => x.x.x.x:x
[SERVER_ADDR] => 10.230.x.x
[SERVER_PORT] => 80
[REMOTE_ADDR] => 54.2x.x.x
그리고 PHP getheaders 함수의 출력은 다음과 같습니다.
[X-Forwarded-By] => www....
[X-Forwarded-For] => x.x.x.x:x
그만큼선적 서류 비치mod_remoteip
목록을 172.16/12
인트라넷 IP 주소로 사용합니다 . 인트라넷 블록을 감지하지 못하기 때문에 모듈이 실제로 올바르게 작동하기를 거부하는 것입니까? 오류 로그에서도 이에 대한 내용을 찾을 수 없습니다.
그런 식으로 작동한다는 것은 어리석은 것처럼 보이지만 그것이 의미가 있는 유일한 이론입니다.
또한 누군가가 이렇게 질문할 것이라는 것을 알고 있기 때문에 블로그 서버를 설정한 후 VPC를 설정했지만 VPC 내부에서 다시 시작하는 작업을 아직 수행하지 않았습니다. 저는 이 기능을 사용하지 않고 작동시키려고 노력했지만 그것이 문제라면 그렇게 하는 것을 고려해 보겠습니다.
감사해요.