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