3

たとえば、ssh-tunnel などを介して Savon でリクエストを行うことは可能ですか。リクエストを送信しているサービスで IP がホワイトリストに登録されているステージ サーバーからこのようなものを実行できます。しかし、もちろん、私は自分のコンピューターで開発を行いたいです:Pそれを行うためのオプションはありますか? 私はすでに savon's proxy: option を次のような多くの組み合わせで試しました

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

など。 Ruby on Rails を使用しています。

4

1 に答える 1

1

SSH トンネルが最適です。セットアップは簡単で、これを 1 つのターミナル セッションで使用します。

ssh -L 8080:servicehost:80 myuser@stagingserver

確立したら、開いたままにします。ホスト:443 の TCP サービスへのトンネルとして、ローカルホストのポート 8080 を開きます。http://localhost:8080/some/url/to/serviceで実行されているサービスにアクセスするには、savon を にポイントします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 に答える