2013-04-24 8 views
5

私は、SignalRを使用して、ブラウザのプロトタイプを< - > windows app通信に構築しようとしています。クロスドメインのシナリオで、signalRとの "混在コンテンツの警告"を回避するにはどうすればよいですか?

目的は簡単です:スマートカードを読み取り、Webアプリケーションに渡すべき値を生成する各クライアントでトレイアプリケーションを実行しています。

トレイアプリケーションに自己ホスト型のSignalRハブを構築しました。ウェブページが正常に通信しています。

ウェブアプリケーションがHTTPSを介して配信され、signalRハブが従来のHTTP(たとえばhttp://localhost:8080)で配信され、予想通り、最新のブラウザのほとんどが混合コンテンツ警告を送出し、signalRとの通信を拒否します。

私の質問は以下のとおりです。

1)混合コンテンツの警告を回避する方法はありますか?

2)HTTPSをサポートする自己ホスト型httpサーバを構築する価値はありますか?もしそうなら、ブラウザはhttps://localhost/のクライアントにいくつかの自己署名証明書を使って話しますか?

は、これは簡単ですIE で混合コンテンツの警告を避ける:: - [インターネットオプション]> [セキュリティ]タブを選択し[ツール]

はあなたがここに二つの質問を求めているあなたに

+0

ハブがhttpで配信されるのはなぜですか? – davidfowl

+0

こんにちは。これまでのところ、Windowsアプリケーションでは、自己ホストHTTP/SSLサーバーを提供できませんでした。私はOWINを使用しています、おそらくもっと良い方法がありますか? – tggm

+0

私はこれらのヒントhttp://katanaproject.codeplex.com/discussions/438435に従ってきましたが、役に立たないです。また、私のクライアントがhttpsアドレスへの証明書バインディング(netsh経由)を設定する必要がある場合、アプリケーション自体をインストールすることができなくなるのではないかと心配しています。 – tggm

答えて

1

ありがとうございます。 インターネットゾーンが選択されていることを確認し、カスタムレベルボタンをクリックします。 にスクロールし、混合コンテンツを表示し、に設定します。を有効にします。

この設定が理由であることに注意してください。それを変更するとセキュリティリスクが発生し、訪問するすべてのインターネットサイトに適用されます。アプリケーションの将来のユーザーにこの設定を変更するよう依頼することはお勧めできません。しかし、それはまだ可能です。

その他の一般的なブラウザでもこの設定を変更できます。

自己署名証明書を使用したSSLサーバーのホスト これは確かに可能です。ただし、上記の「Untrusted Connection」の警告に似た警告に直面することに注意してください。彼らは、公式の認証局によって署名されていない証明書についてユーザに知らせるのに役立ちます。

自己署名証明書を作成することはあまり難しくありません(実際には、複数のマシンで同じ証明書を再利用することもできます)。これは、暗号化されていないHTTPを使用する代わりに受け入れられる方法です。これの利点は、ユーザーがセキュリティ例外を一度確認でき、将来的には気にならないことです。また、これはlocalhost以外のページを閲覧しているときにWebセキュリティに影響を与えません。

+0

補足として:トレイアプリケーションがサーバーにデータをパイプすることはできませんか?可能であれば、これらの問題をすべて回避するために適切なクライアントに戻すだけで済みます。 – likeitlikeit

+0

私はあなたのアプローチを理解しています。トレイアプリケーションはサーバーと通信しています。私はそのアプローチについて考えました。問題は「適切なクライアントに戻す」ことにあります。 トレイアプリケーション上の特定のカードリーダーを同じデスクトップ上で開かれたばかりのブラウザーに一致させる方法はありません。ブラウザから特定のマシンを特定することはできません。 あなたの答えは、いつも何らかの警告があることを認識しているので、おそらくブラウザのセキュリティを緩和するようにユーザーに指示する必要があります。 – tggm

関連する問題