我想通过
https
调用部署在cloudflare上的api。
但是本地计算机和 api 提供者之间的通信存在问题,所以我使用 ssh 端口转发来实现 就像:
<local_server>
-<remote_server>
-<target_domain_on_cloudflare>
我尝试通过 SSH 连接到
<remote_server>
并成功调用 <remote_server>
上的 API,所以我认为 ssh 端口转发会起作用。
这是我进行端口转发的方法:
ssh -L 12345:<target_domain>:443 username@<remote_server_ip>
这是我从本地拨打电话的方式:
curl https://localhost:12345
我收到了来自 cloudflare 的错误消息,代码为 1003:
You've requested an IP address that is part of the Cloudflare network. A valid Host header must be supplied to reach the desired website.
localhost
。在curl中有两种方法可以解决这个问题:
-H
指定主机标头,并使用
-k
让curl 忽略证书不匹配:
curl -kH example.com https://localhost:12345
Host:
,仅在 TLS 会话成功建立后才相关。) 使用
--resolve
curl --resolve example.com:443:127.0.0.1 https://example.com/