2016-04-29 13 views
3

SignalR 3-RC1のユーザーが欠落しているSECは-のWebSocket-受け入れます。SignalRのWebSocketハンドシェイク:ヘッダはWebSocketを行くを取得しようとすると、次のエラーを取得するASP.NET 5 RC1に</p> <p>を

要求ヘッダー:
日:金、2016年4月29日13時51分54秒GMT
サーバー:ケストレル
が転送エンコーディングを50.0.2661.87

ヘッダは以下の通りですChromeを使用して

:WebSocketの
X-Content-Typeの-オプション:
アップグレードをチャンク
X-Poweredのバイnosniff:ASP.NET

レスポンスヘッダ:
は、エンコードを受け入れ:GZIPを、収縮、SDCH
は、言語を受け入れ:EN-US、EN; Q = 0.8、FR; Q = 0.6
のCache-Control:キャッシュなし
接続:アップグレード
クッキー:... ASP.NETクッキー
DNT:1
ホスト:host.tld
原産地:http://host.tld
プラグマ:キャッシュなし
秒-のWebSocket-拡張機能:permessage-デフレート。 client_max_window_bits
秒-のWebSocket-キー:liIKiClt7Z057EwteJYJXQ ==
秒-のWebSocket-バージョン:13
アップグレード:WebSocketを
のUser-Agent:Mozillaの/ 5.0(Windows NTの6.1; WOW64)のAppleWebKit/537.36(KHTML、ヤモリのように)クローム/ 50.0.2661.87サファリ/ 537.36

Microsoft.AspNet.WebSockets.Server 1.0.0-RC1を使用して

Serverのセットアップ: のWindows Server 2012 R2 IIS 8.5

それを解決するために私ができることは何ですか?

+1

を参照してくださいページ

をリロードし、このスレッドはhttps://github.com/SignalR/SignalR/issues/3691私のために働いた答えを持っています。 Windowsの機能> World Wide Webサービス>アプリケーション開発機能に進み、Websocketプロトコルを有効にします。 IISをリセットしてページをリロードします。 – HockeyJ

+1

私はGitHubで私自身の質問に答えたが、ここではhahahahaではなかった。ありがとう! – DOMZE

答えて

7

ホッケーJがコメントしたように、私はGitHubで私の質問に答えましたが、ここでは答えませんでした。

この問題を解決するには、Windowsの機能> World Wide Webサービス>アプリケーション開発機能に進み、Websocketプロトコルを有効にします。 IISをリセットし、サーチャーの利益のためにhttps://github.com/SignalR/SignalR/issues/3691

+0

Windowsは> *インターネットインフォメーションサービス*>ワールド・ワイド・ウェブ・サービスを提供しています>アプリケーション開発機能Windowsサーバの場合、それは異なります。https://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support – ConductedClever

1

サーバーの実装は良好ではありませんが、リクエストにSec-WebSocket-Key HTTPヘッダーを含めることで問題を回避できます。仕様に準拠するためには、Sec-WebSocket-VersionヘッダーとConnectionヘッダーも必要です。詳細は、RFC 6455を参照してください。

+0

実装はSignalRで直接実行されるので、ヘッダを送信するものとそうでないものがあります。私は、どのヘッダが送られるかを制御できません。私は自分のギブスで問題を開いたが、まだ聞いていない。 私はそれが私が正しく設定されませんでしたが、私は読んでいたものから、それはそうではなかったものだったと信じ、人々は(PHPで)回避策をやっていた – DOMZE

関連する問題