次のポート転送を作成しました。
ssh -vL localhost:4433:example.com:443 remote-linux-Host
注:Sudo
での実行を避けるために、ローカルでは4433
ではなく443
を使用しています。
ただし、https://localhost:4433/
に移動すると、証明書のチェックを無視した後、次のエラーが発生します(ChromeとFirefoxの両方):
404お探しのページが見つかりませんでした
curl
を使用する場合も同様です:
$ curl -s https://localhost:4433/ | html2text
<?xml version="1.0" encoding="iso-8859-1"?>
****** 404 - Not Found ******
HTTPSのポート転送を行うにはどうすればよいですか?
私の目的は、リモートサーバーを介してローカル(ポート4433)でhttps://example.com/
(HTTPSで正常に動作する)を開くことです。
Example.comが93.184.216.34であるとします。
方法の1つは次のとおりです。
行う:
ssh -L 4433:93.184.216.34:443 remote-linux-Host
ローカルで定義/etc/hosts
ブラウザを使用してマシンで:
127.0.0.1 example.com
そして、ブラウザで開きます: https://example.com:4433/
このようにして、正しいHost
ヘッダーを送信します。
Hostsエントリを作成した後は、ブラウザ/リゾルバのDNSキャッシュに注意してください。
ホスト名、SSL証明書などをすべて満足させるには、-D
動的SOCKS4/5プロキシを作成するオプション。
ssh -D 4444 username@ssh-hostname
次に、ローカルマシンで上記のプロキシを使用するようにfirefox/chromeを設定します。