是否可以通过 ssh-tunnel 之类的方式向 Savon 提出请求。我可以从我的舞台服务器运行这些东西,该服务器的 IP 在我发送请求的服务中被列入白名单。但是我当然想在我的电脑上进行开发:P 那么有什么选择吗?我已经尝试过 savon's proxy: 多种组合的选项,例如
proxy: "http://name:password@my_stage_server.com"
等等。我正在使用 Ruby on Rails。
是否可以通过 ssh-tunnel 之类的方式向 Savon 提出请求。我可以从我的舞台服务器运行这些东西,该服务器的 IP 在我发送请求的服务中被列入白名单。但是我当然想在我的电脑上进行开发:P 那么有什么选择吗?我已经尝试过 savon's proxy: 多种组合的选项,例如
proxy: "http://name:password@my_stage_server.com"
等等。我正在使用 Ruby on Rails。
SSH隧道是要走的路。它们很容易设置,在一个终端会话中使用它:
ssh -L 8080:servicehost:80 myuser@stagingserver
建立后,将其保持打开状态。它将在您的 localhost 上打开端口 8080,作为通往 host:443 上的 TCP 服务的隧道。指向 savon 以http://localhost:8080/some/url/to/service
访问在 上运行的服务http://servicehost/some/url/to/service
。
如果您经常需要它,可以方便地将其添加到您的ssh 配置文件中,该文件位于~/.ssh/config
. 这是一个纯文本文件,上面的示例如下所示:
Host staging
HostName hostname.domain
LocalForward 8080 servicehost:80
User myuser
使用此配置,您只需发出ssh staging
. 您可以设置更多选项,请参阅MAN 页面了解详细信息。
请记住,主机名servicehost
必须可以从您的登台服务器而不是您的开发机器上解析。您也可以使用 IP 地址。