SSH隧道不工作-服务器响应为空
我正在尝试设置一个SSH隧道,但我对这个过程是新手。这是我的设置: 机器B有一个访问受限的web服务。根据防火墙IP白名单,机器A已被授予访问机器B服务的权限 我可以使用ssh连接连接到机器A。之后,我尝试从本地主机访问机器B上的Web服务,但我不能 webservice端点如下所示:SSH隧道不工作-服务器响应为空,ssh,ssh-tunnel,Ssh,Ssh Tunnel,我正在尝试设置一个SSH隧道,但我对这个过程是新手。这是我的设置: 机器B有一个访问受限的web服务。根据防火墙IP白名单,机器A已被授予访问机器B服务的权限 我可以使用ssh连接连接到机器A。之后,我尝试从本地主机访问机器B上的Web服务,但我不能 webservice端点如下所示: service.test.organization.com:443/org/v1/sendData 到目前为止,我已经创建了一个ssh隧道,如下所示: ssh-l1234:service.test.organiz
service.test.organization.com:443/org/v1/sendData
到目前为止,我已经创建了一个ssh隧道,如下所示:
ssh-l1234:service.test.organization.com:443myuser@machineb.com
我的理解是,使用这种方法,我可以点击localhost:1234,它将通过机器B转发到service.test.organization.com:443
我已经确认,在机器B中,我可以执行curl命令向Web服务发送消息,并得到响应(因此可以正常工作)。我曾尝试在浏览器中使用PostMan,并从localhost中插入终端,但没有成功。(curl-xpost-d@test.xml localhost:1234/org/v1/sendData
)
错误消息:curl:(52)来自服务器的空回复
有很多关于SSH的资料,我正在筛选,但如果有人有任何建议,我将非常感谢 网络问题是由请求格式引起的。我的请求对象是在目标为“localhost:1234”的情况下生成的。因此,即使它到达了正确的机器,机器也忽略了它 为了解决这个问题,我在宿主文件中添加了一条记录,如下所示:
service.test.organization.com 127.0.0.1
然后我就可以发送消息了。首先我打开了隧道,
ssh-L 443:service.test.organization.com:443myuser@machineb.com
,
然后使用这个curl命令:curl-xpost-d@test.xml service.test.organization.com:443/org/v1/sendData
主机文件将地址解析为localhost,然后ssh隧道知道如何转发它。尝试添加
host
HTTP头:curl-H“host:service.test.organization.com”-X POST-d@test.xmlhttp://localhost:1234/org/v1/sendData
您是否已检查sshd\u配置中是否启用了端口转发?默认情况下,我通常不会发现请求正在发送到目标,但不会返回响应,因为请求来自Localhost,这违反了防火墙白名单规则。如何使HTTP请求头显示它来自机器B?