SSH 터널링/포트 전달을 사용하여 Raspberry Pi를 통해 로컬 개발 서버를 외부에 노출

SSH 터널링/포트 전달을 사용하여 Raspberry Pi를 통해 로컬 개발 서버를 외부에 노출

내 로컬 네트워크에 없는 사용자가 내 웹 애플리케이션을 테스트할 수 있도록 내 로컬 개발 서버를 외부 세계에 노출하려고 합니다. 웹 애플리케이션을 테스트하는 사용자는 localhost:3000 및 localhost:8080을 사용하여 브라우저에서 애플리케이션을 실행해야 합니다. 이러한 도메인은 화이트리스트에 포함되어 있기 때문입니다. 나는 이것이 내 Raspberry Pi가 SSH 터널을 사용하여 프록시 역할을 할 수 있도록 하는 완벽한 앱이라고 생각했습니다. 이것은 내 설정입니다.

여기에 이미지 설명을 입력하세요.

로컬 포트 ​​전달(예: ssh -L)은 제대로 작동하지만 원격 포트 전달(예: ssh -R)은 작동하지 않습니다. 클라이언트나 Raspberry Pi에서 localhost:3000 또는 localhost:8080을 로드할 수 없습니다. GatewayPorts yes여기 지침에 따라 Raspberry Pi에서도 활성화했습니다 .https://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html. 이러한 URL이 내 Raspberry Pi에 로드되지 않는다는 사실은 문제가 Raspberry Pi와 내 개발 서버 사이에 있다는 것을 의미합니다. 이 프록시를 작동시키려면 어떻게 해야 합니까?

답변1

내 문제는 서버에서 원격 포트 전달(ssh -R)을 위해 Windows(및 Powershell의 ssh)를 사용했기 때문에 발생했습니다.

여기에 이미지 설명을 입력하세요.

서버를 Mac으로 전환한 후에는 정상적으로 작동했습니다.

여기에 이미지 설명을 입력하세요.

참고: 클라이언트는 Powershell과 함께 SSH를 사용하는 Windows일 수 있으며 계속 작동합니다.

여기에 이미지 설명을 입력하세요.

나는 여전히 원격 포트 전달을 지원하는 Windows 서버를 원하지만 문제는 시스템 설계보다는 Windows에만 국한된 것 같습니다.

관련 정보