2012-02-03 7 views
1

イントラネットで2台のサーバーの構成を使用しています。 最初は、ブラウザにhtmlページを生成するWebサーバです。このhtmlは、GETパラメータの値に従ってレポート(html)を生成して返します。 このソリューションはセキュリティ保護されていないため(渡されたパラメータは公開されています)、最初のサーバーにレポートを送信するhtml(最初のサーバーによって生成された)を持っていることを考えました。レポートのリクエストは、ブラウザ間ではなくサーバー間でhttpを使用してレポートサーバーに送信されます。
レポートのマークアップは、最初のサーバーに(文字列として)返され、レスポンスオブジェクトに追加され、ブラウザに表示されます。 これはhttpの一般的なプラクティスですか?サーバー間でhttpプロトコルを使用する

答えて

1

はい、よくあることです。実際には、Webサーバーがデータベースからデータを取得する必要がある場合(つまり、公開されていない、つまりWebサーバーDMZなどではない場合も同じです)

しかし、動的ページ生成(静的なHTMLではなく、WebサーバーがPHPやJavaなどを使用できると仮定しましょう)を使用する必要があります。

  • あなたのページには、HTTPのGET(またはPOST、または何でもあなたが好き)の同等を行うには、あなたが必要とするすべての必要なパラメータを送信し、2番目のサーバーを実行します。 、それは結果を受信

  • などのリターンコードをチェックし、また、(いくつかのテキストやURLを置き換えるなど)optionnalコンテンツ操作

  • を行うことができます:あなたはcURLのライブラリ、またはのfopen(// HTTP)を使用することができます

    ユーザのブラウザに結果を返します。

もしあなたができない(あるいはしない)プロキシに(Apacheのmod_proxyを持つ例えば)は、第2のサーバへのいくつかの要求をウェブサーバを設定することができ、動的なページ生成を使用します。リクエストがURLのために、サーバ1になる

例えば

、 "のhttp:// SERVER1 /レポート"、Webサーバのプロキシ要求には「http:// SERVER2 /内部/レポートのparam1 = VALUE1 & PARAM2 =値2 &等 "とする。

ユーザーは結果を取得します「のhttp:// SERVER2 /内部/レポートのparam1 = VALUE1 & PARAM2 = value2の&など」が、唯一の彼、彼の視点から(それがどこから来るのか見ることはありません知っているhttp://server1/reports)。 プロキシとURL書き換えを関連付けるより複雑な操作を行うことができます(server2へのリクエストでserver1へのリクエストのいくつかのパラメータを使用できるようになります)。

私はあなたに多くのヒントを与えることができますので、十分なはっきりしていない場合は、より多くの詳細(o/s、ウェブサーバー技術、URLなど)を与えることをためらうことはありません。

0

他の2つのオプション:

  1. 設定プロキシとHTTPサーバーが直面しているインターネット(Apacheの中に例えば mod_proxyの)
  2. をそのままサーバーを残すとアプリケーションFirewal
を追加
関連する問題