1

私の肩書きは過度に具体的かもしれません-私はネットワーク管理、特にSSL / HTTPSをあまり扱っていないので、質問を作成するのに苦労しています。言い換えれば、「なぜあなたは...をしなかったのか」に対する答えです。「私は……についてあまり知らない」というようなものです。

私はテストを行っています。テスト対象システム(SUT)は、https://graph.facebook.comを使用してFacebookAPIを呼び出すWebサービスです。

http://graph.facebook.comにページを提供するリモートマシンにテストサーバーをセットアップしています。SUTサーバー上のhostfileを使用して、http://graph.facebook.comへのリクエストをテストサーバーにリダイレクトできます。次に入力すると、これは正常に機能します。

curl http://graph.facebook.com

テストサーバーはリクエストを受信し、期待されるページを返します。

ただし、前述のように、SUTはHTTPサイトを使用していませんが、Facebook APIのHTTPSサイトを使用しています(当然)。送信リクエストをインターセプトして、他のサイトで実行しているHTTPサービスにリダイレクトする方法はありますか?次のように入力できるようにしたいと思います。

curl https://graph.facebook.com

テストサーバーで実行している偽のFacebookサービスにリダイレクトします。両端のサーバーを構成できます。

これが非常に難しい場合は、FacebookAPIリクエストのURLを変更する機能の機能リクエストも入れたいと思うかもしれません。ただし、開発者は既存のFacebook APIモジュールを使用していると思います。これは、簡単ではないかもしれません。(さて、私は興味を持ってチェックしました.. ..簡単な調査は、APIが実際のHTTPSリクエストを処理するコードのデータインジェクションをサポートしていることを示唆しているので、彼は渡すことができるように独自のバージョンのインターフェイスを実装する必要がありますコードの外部から設定できる構成可能なURLですが、本当に必要な場合を除いて、彼の気を散らしたくはありません)。

必要に応じて、ポート80でasis-serverを使用してFacebookの応答を偽造しています。

4

1 に答える 1

1

最終的に使用したソリューションは、HTTPSリクエストをインターセプトし、HTTPサービスにリダイレクトするテストサーバー上のサービスでした。私たちの運用担当者はこれにnginxを使用しました。

これがSUTのモックとして機能するかどうかはまだわかりません。これは、SUTが証明書情報を検証しているか無視しているかによって異なります。それでも、モッキングをサポートする機能を実装するように開発者に依頼する必要があるかもしれません。

于 2012-11-06T19:40:46.640 に答える