역방향 SSH 터널을 통해 클라이언트의 IP 주소를 내 서버로 캡처하려면 어떻게 해야 합니까?

역방향 SSH 터널을 통해 클라이언트의 IP 주소를 내 서버로 캡처하려면 어떻게 해야 합니까?

외부 세계에서 액세스할 수 있도록 홈 서버에 역방향 터널이 있습니다. 내 홈 서버가 방화벽 뒤에 있습니다.

[mydomain]:8080에 액세스하면 포트 80에서 내 서버 연결(localhost에서)이 생성되는 설정된 연결(내 집 컴퓨터에 의해 시작됨)을 통해 내 HTTP 요청이 내 집 컴퓨터로 전달됩니다. 모든 것이 잘 작동하지만 이제 모든 Apache 로그에 요청이 localhost에서 오는 것으로 표시됩니다. 내 서버에 누가 연결되어 있는지 더 알고 싶습니다.

이것은 역방향 터널을 만드는 데 사용한 명령입니다.

autossh -i mykeyfile -N -f -g -R \*:8080:localhost:80 myuser@mydomain

확인해 봤는데 /var/log/auth.log관련사항이 없네요.

답변1

  • localhost:8080대신 원격으로 청취하도록 터널을 변경하십시오 *:80.

  • Apachemydomain및 지시어를 사용하여 80에서 localhost:8080으로 역방향 프록시를 설치 하고 구성합니다.ProxyPassProxyPassReverse

  • RequestHeader appendX-Forwarded-For, X-Forwarded-Proto, X-Forwarded-Port 지시문을 사용하여 클라이언트 주소를 표준 http 헤더로 추가하도록 Apache에 지시합니다.

관련 정보