web-dev-qa-db-ja.com

HTTPSのSSHポート転送を行う方法は?

次のポート転送を作成しました。

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で正常に動作する)を開くことです。

4
kenorb

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キャッシュに注意してください。

5
Rui F Ribeiro

ホスト名、SSL証明書などをすべて満足させるには、-D動的SOCKS4/5プロキシを作成するオプション。

ssh -D 4444 username@ssh-hostname

次に、ローカルマシンで上記のプロキシを使用するようにfirefox/chromeを設定します。

1
ivanivan