HTTP(またはHTTPS)を介したSSHトンネリングのガイドライン

HTTP(またはHTTPS)を介したSSHトンネリングのガイドライン

私のPCからリモートPCにローカルにトンネルを作成すると、一部のデバイス(通常はルーター)では、httpまたはhttpsを介した接続が発生しないことがわかりました。次のポップアップが表示されます。

The 'Host' field contained in Http header is invalid

ファイルファイルで以下を設定する場合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: */*

手頃な価格のWebサービスプロバイダは、単一のコンピュータでwww.yourdomain.nameやwww.mydomain.usなどの多くのドメイン名をホストしています。そのシステムのWebサーバーは、使用するHost:ファイルセットを知るためにヘッダーを調べます。に接続するとhttp://127.0.0.1/index.htmlそしてそれはwww.yourdomain.nameに渡されます。リモートWebサーバーには、Host: 127.0.0.1必要なファイルセットを決定するのに役立たないヘッダーがあります。 /etc/hostsにエントリを追加してプッシュします。http://www.yourdomain.name/index.htmlこの問題を解決しました。

おすすめ記事