3

是否可以通过 ssh-tunnel 之类的方式向 Savon 提出请求。我可以从我的舞台服务器运行这些东西,该服务器的 IP 在我发送请求的服务中被列入白名单。但是我当然想在我的电脑上进行开发:P 那么有什么选择吗?我已经尝试过 savon's proxy: 多种组合的选项,例如

proxy: "http://name:password@my_stage_server.com"

等等。我正在使用 Ruby on Rails。

4

1 回答 1

1

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 地址。

于 2014-03-05T20:21:43.503 回答