ruby-on-rails - 通过另一台机器请求

标签 ruby-on-rails ruby soap xmlhttprequest savon

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

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

等我正在使用 Ruby on Rails。

最佳答案

SSH 隧道是必经之路。它们很容易设置,在一个终端 session 中使用:

ssh -L 8080:servicehost:80 myuser@stagingserver

建立后,保持打开状态。它将在您的本地主机上打开端口 8080 作为到主机 TCP 服务的隧道:443。将 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 即可打开隧道。您可以设置更多选项,请引用the MAN page了解详情。

主机名解析

请记住,主机名servicehost 必须是可解析的从您的暂存服务器,而不是您的开发机器。您也可以使用 IP 地址。

关于ruby-on-rails - 通过另一台机器请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294089/

相关文章:

mysql - 使用 mysql 创建新项目时找不到 "config/databases/mysql.yml"

ruby-on-rails - 如何在 rails 应用程序中更新 elasticsearch 的文档

ruby - 为什么 String.tap 不返回修改后的字符串?

ruby-on-rails - 使用弹性 beanstalk 部署的 Rails 应用程序响应 "site can' t bereach"

Ruby-Gnome2 笔记本颜色

c# - WCF( SOAP ): async Service Operations

ruby-on-rails - 安装 gitlab-5.0 时遇到问题 - rake 中止

ruby-on-rails - 在 ruby​​ 模式下,Emacs wrap-region-trigger 已被 ruby​​-electric-matching-char 覆盖

java - 使用 Spring 读取 SOAP 请求 header

wcf - dot.net3.5中带有附件的 SOAP