HTTP(또는 HTTPS)를 통한 SSH 터널링에 대한 지침

HTTP(또는 HTTPS)를 통한 SSH 터널링에 대한 지침

내 PC에서 원격 PC로 로컬로 터널을 생성할 때 일부 장치(일반적으로 라우터)의 경우 http 또는 https를 통한 연결이 발생하지 않는 것으로 나타났습니다. 다음과 같은 팝업이 나타납니다.

The 'Host' field contained in Http header is invalid

file 파일에서 다음을 설정하는 경우 hosts:

127.0.0.1 modemtim

나는 연결을 사용한다모뎀뿐만 아니라127.0.0.1,모든 것이 정상입니다.

SSH 명령:

ssh -L 8080:<IP_REMOTE_ROUTER>:80 <USER>@<REMOTE_TUNNEL>

왜?

답변1

연결하면 일반적인 http 요청은 다음과 같습니다.http://google.com/?q=icarus

GET /?q=icarus HTTP/1.1
Host: google.com
User-Agent: mozilla/123
Accept: */*

저렴한 웹 서비스 제공업체는 단일 컴퓨터에서 www.yourdomain.name 및 www.mydomain.us와 같은 많은 도메인 이름을 호스팅합니다. 해당 시스템의 웹 서버는 Host:사용할 파일 세트를 알기 위해 헤더를 살펴봅니다. 에 연결하면http://127.0.0.1/index.html그리고 그것은 www.yourdomain.name으로 전달됩니다. 원격 웹 서버는 Host: 127.0.0.1필요한 파일 세트를 결정하는 데 도움이 되지 않는 헤더를 갖게 됩니다. /etc/hosts에 항목을 추가하고 푸시합니다.http://www.yourdomain.name/index.html이 문제를 해결했습니다.

관련 정보