2

コンテクスト

Glassfish3.1にデプロイされたアプリケーションを開発しました。このアプリケーションにはhttpsからのみアクセスでき、顧客のネットワークにあるサードパーティのWebサービスに接続する必要がある場合があります。顧客は自分のネットワーク内に他のアプリケーションを持っています。私のは新しい「サービス」にすぎません。

トポロジー近似

ネットワーク近似

  • Big-ipF5はsslエンドポイントです。お客様はこのデバイスに有効な証明書を持っています
  • IISは、ドメインごとにそれぞれのサービスにリダイレクトします
  • glassfishは、アプリケーションを備えたマシンです(もちろん、glassfish 3.1以上)

使い方

ユーザーが_https:// somedomainに接続しようとすると、SSL暗号化が終了するF5にリクエストが到着します。これで、_http://somedomainへのリクエストがあります。次のステップで、F5はこの要求をIISにリダイレクトし、これが最後にGlassfishにリダイレクトします。この請願は正常に処理されます。

興味がある点

  • Glassfishサーバーとそれが配置されているVMのSOを完全に制御しました。他のアプリケーションはこのサーバーにデプロイされていないか、デプロイされる予定はありません。これは、アプリとそれが必要とするいくつかのサービス専用のサーバーです。Glassfishは、DebianディストリビューションがSOであるVM上で実行されます。このVMはVMサーバーによって提供されますが、ブランド、モデルなどはわかりません。Glassfishにはデフォルトのhttpリスナー構成があります。
  • ネットワークやその他のデバイスに関する情報がこれ以上なく、他のデバイスの構成ファイルにアクセスできません。ネットワークのどの部分も自分で変更することはできませんが、変更を依頼、提案、またはアドバイスすることができます。ネットワークの動作は変わらないはずです。
  • 実際、ユーザーは問題なくアプリケーションにアクセスできます。
  • 使用する証明書は、Verysignによって信頼されている単純なドメイン証明書です。
  • 顧客はこれを解決する方法がわかりません。

問題

アプリケーションがアクセスする必要のあるすべてのサードパーティWSには一意のhttpsアクセスが必要であり、場合によっては、必要な認証が相互(双方向)であり、ここで問題が見つかります。アプリケーションが相互SSL認証を使用してWSに接続する場合、Glassfishローカルキーストア構成のターゲット証明書を送信します。お客様は、可能であれば、着信と発信の安全な接続に同じ証明書を使用することを望んでいます。この証明書はF5にあり、Glassfishキーストアに追加できません。これを行うと、Verysignの契約要件に違反することになります。私はグーグル、ここ(stackoverflow)、ジタ、...で解決策を探していましたが、私が見つけた着信トラフィックの解決策だけです。SSLプロキシが必要な場合があることは理解していますが、今後のssl接続の例や代替ソリューションは見つかりませんでした。

私が求めているもの

私は英語を話せません(わかりませんか?)。検索用語で正しい用語を使用していない可能性があります。このコンテキストは悪夢であり、解決するのが難しい場合があることは理解できますが、私は立ちます...最初に必要なのは、この問題の解決策が存在するかどうか、および問題がどこに存在するかを知ることです。またはどうすればそれ/それらを見つけることができますか。私は顧客と交渉するためにさまざまな代替案を用意しましたが、真実を知る必要があります。私はこれに何時間も費やしました。

4

1 に答える 1

1

いくつかの解決策があります。

1) 2 番目の「ライセンス/証明書」に対して Verisign に追加料金を支払う。彼らは「特権」のためにあなたのお金を喜んで受け取ります。:)

2) 443 でリッスンする別の仮想サーバーを作成します。この仮想サーバーは、クライアントのサーバー アドレスをプール メンバーとして持つプールを指します。次に、仮想サーバーで、着信接続に使用しているのと同じ証明書を使用するように構成された serverssl プロファイルをアタッチします。次に、F5 は同じ証明書で認証し、アプリ サーバーはクライアント証明書をインストールする必要がありません。また、彼らがあなたへのセッションを開始する必要がある場合は、同じ証明書を使用し、接続にクライアント証明書を必要とする clientsl プロファイルで仮想サーバーをセットアップする必要があります。

宛先が静的アドレスでない可能性がある場合は、それに対処するために irule(s) を作成する必要があります。irule で DNS 呼び出しを行い、セッションのノードを設定して、10 以降のコードで処理できます。

于 2013-04-21T05:36:41.990 に答える