web-dev-qa-db-ja.com

SSLをサポートしていないWebサーバーにHTTPSアクセスを提供するにはどうすればよいですか?

ライブカメラフィードを表示するWebページを提供するプログラム(モーション)があります。そのフィードをインターネット経由で利用できるようにしたいのですが、SSLと証明書を使用して、適切な証明書を持っている人だけがフィードを見ることができるようにします。私が知りたいこと:サーバーから読み取り、SSLバージョンを提供するプロキシのようなものはありますか?

5
Tomas

関連する仮想ホストを使用してApacheをインストールし、ProxyPass(およびおそらくProxyPassReverse)を使用してWebカメラへのプロキシを実行します。クライアント証明書の認証は少し注意が必要ですが、それほど多くはありません。驚くべきことに、「Apacheクライアント証明書認証」のGoogle検索結果は 非常に便利 です。

9
womble

WombleによるApacheリバースプロキシの提案は優れた提案です。別の解決策は、それをラップするように stunnel を構成することです。カメラの前に完全なWebサーバーを配置することによる追加の利点を探していない場合、StunnelはApacheよりも軽量になります。

2016年の編集:久しぶりですが、この質問にはまだトラフィックがあります。私は今お勧めします ヒッチ 。 Hitchはスケーラビリティのために設計されていますが、stunnelはそうではありません。 HTTPヘッダーまたはコンテンツをプロキシで変更する必要がある場合は、 Nginx をお勧めします。

11
bahamat

ほとんどの汎用Webサーバーには、mod_proxyを備えたApache、およびより軽量なソリューションのためのNginxとlighttpdを含むプロキシモジュールもあります。

SSLプロキシ、つまりSSLトラフィックのみを受信し、解凍し、バックエンドサービスに転送して回答を再暗号化するコンポーネントが必要な場合は、 stunnel または-のいずれかを確認する必要があります。 スタッド 。これらのツールはそれだけを行うため、他のツール(特にApache)よりもセットアップが簡単で、一般的に高速でリソース消費が少なくなります。

3
Holger Just

すでに利用できる可能性のあるもう1つのオプションは、VPNです。 Webカムマシン/ DVRの前にあるファイアウォールに応じて、モバイルIPSec VPNをセットアップし、最初にファイアウォールにダイヤルしてから、内部IPを介してカメラにアクセスできます(カメラマシンがNATされていると仮定します)。ファイアウォール)。

現在、ほとんどの「ビジネス」ファイアウォール/ルーターがVPN機能を提供しています。

このオプションを使用すると、ポート転送を完全に無効にして、カメラマシンが外部でリッスンせず、VPN接続を確立した後にのみアクセスできるようにすることができます。

これにより、Apacheをリバースプロキシとして設定するよりも学習曲線が少なく、ハードウェアに追加のコストがかからない暗号化と認証が提供されます(これも、使用しているものによって異なります)。

欠点は、カメラを表示する各マシンでVPNクライアントを構成する必要があることですが、クライアント証明書を使用すると、管理者のオーバーヘッドも増えることになります。

また、暗号化/プロトコルによっては、VPNがオーバーヘッドを追加し、ネットワークスループットに影響を与える可能性があることにも言及する必要がありますが、これは、予想されるユーザー数やカメラが動作する可能性の問題ではありません。非常に頻繁に同時に表示されます。

1つのリモートロケーション*からのみカメラにアクセスすることを計画している場合は、リモートロケーションとカメラロケーションのファイアウォールの間にIPSecトンネル(サイト間IPSec VPNトンネルと呼ばれる)を設定することもできます。このように、カメラの表示を計画している各マシンでVPNクライアントを構成する必要はありません。そのリモートロケーションにある任意のマシンの任意のブラウザーでカメラのWebインターフェイスをプルアップするだけです(ファイアウォールのルールに応じてコース)。

ファイアウォールのメーカー/モデルを提供していただければ、最適な構成を提案できます。

*追加のサイト間VPNトンネルを確実に設定できます。しかし、5人のユーザーがすべて異なるインターネットの場所にいる場合、IPSecトンネルを設定するプロセスを通過するのは少しやり過ぎなので、VPNクライアントはより実用的です(または2つの組み合わせ:つまり、5人のユーザーのうち4人が1つのインターネットロケーションで、そこにIPSecトンネルを設定します。5番目のユーザーはVPNクライアントを使用できます)。

3
gravyface

あなたが説明することは実行可能です、はい。これを実行できるツールはたくさんあると思いますが、Apacheがこれを実行できると確信しています。あなたは「リバースプロキシ」(グーグルへの何か)と証明書ベースの認証について説明しています。最初は、おそらくmod_rewriteが必要ですが、後者についてはあまり経験がありません。

他のいくつかのツールがこれを実行できたとしても、私は驚かないでしょう。イカまたはSSL加速アプライアンス。

1
Slartibartfast