如何为 HTTPS 进行 SSH 端口转发?

ken*_*orb 9 ssh port-forwarding https

我创建了以下端口转发:

ssh -vL localhost:4433:example.com:443 remote-linux-host
Run Code Online (Sandbox Code Playgroud)

注意:我在4433本地使用而不是443避免使用sudo.

但是,当我转到https://localhost:4433/,忽略证书检查后,出现以下错误(在 Chrome 和 Firefox 上):

404 - 未找到

使用时相同curl

$ curl -s https://localhost:4433/ | html2text
<?xml version="1.0" encoding="iso-8859-1"?>
****** 404 - Not Found ******
Run Code Online (Sandbox Code Playgroud)

如何为 HTTPS 进行端口转发?

我的目标是https://example.com/通过远程服务器在我的本地(端口 4433)上打开(通过 HTTPS 正常工作)。

Rui*_*iro 10

假设 example.com 是 93.184.216.34。

方法之一如下。

做:

ssh -L 4433:93.184.216.34:443 remote-linux-host
Run Code Online (Sandbox Code Playgroud)

/etc/hosts使用浏览器在本地机器中定义:

127.0.0.1 example.com
Run Code Online (Sandbox Code Playgroud)

然后在浏览器中打开: https //example.com 4433/

这样,它就会发送正确的 Host标头。

创建主机条目后,请注意浏览器/解析器 DNS 缓存。

  • 我想我也可以使用 127.0.0.2,以免破坏任何其他环回功能。 (2认同)