2016-05-21 18 views
0

私のシナリオはここにあります: クライアント認証用の証明書が必要なウェブサイトがありますが、残念ながらその証明書を全員に提供することはできません。また、ウェブサイトを証明書で保護することは、私たちが変更できるものではありません。 詳細上記の文は、やや混乱している場合:(私が開発していない)どのようにして証明書を持たないクライアント認証証明書が必要なウェブサイトに接続することができますか?

  1. ウェブサイトのXが
  2. を認証するためにクライアント認証証明書を必要とする私は私がログインする権限を持っているVMにインストールされている証明書を持つことができます。
  3. 私はウェブサイトXにアクセスするために他人をしたいが、それらに

を証明書を提供カントはこれを行うための実行可能な方法はありますか?

  1. ホストサーバーVM
  2. 上のウェブサイト(ウェブサイトY)誰かがそのウェブサイトを開くとき: ここ は私が働くかもしれないと思うけどやる方法がわからないとでもthatsは可能であれば何であるASP.Netコードの読み取り証明書をウェブサイトに呼び出すX
  3. ウェブサイトへのクライアント認証の証明書を表示X
  4. 応答を取得する
  5. 応答をそのままユーザに表示しますか?

しかし、このアプローチの問題は、ウェブサイトだけで生のHTMLを返すことがありますし、人々は、ドロップダウンか何かを選択したときに何かをして、独自のカスタムコードを有していても良い?私はそれに対処するにはどうすればよいのですか?

誰でも私はこれをどのように達成できるか考えていますか? 私が謝罪していないか、フォーラムでそのような質問をしてはいけないかどうか、私の謝罪です。

答えて

0

この問題を解決するには、nginxのようなリバースプロキシを使用できます。サーバーVM上でnginxを実行し、ポート80で接続を待ち受けます。上流側では、proxy_passを使用して 'website X'に接続します。証明書の検証を実行するために、SSLハンドシェイクの一部として証明書を提示します。検証が完了すると、残りのセッションは正常に処理されます。

このアプローチでは、「ウェブサイトX」の変更について心配する必要はありません。なぜなら、nginxはすべての応答を単にクライアントに返すためです。

関連する問題