【问题标题】:How to enable WebSockets in IIS 8?如何在 IIS 8 中启用 WebSocket?
【发布时间】:2014-01-29 22:15:55
【问题描述】:

我在 Windows 2012 IIS 8 服务器上部署了 SignalR 示例应用程序。

我安装了 WebSocket 协议支持,如下所述:http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support

但我仍然无法使用 WebSockets 进行连接。这是我部署的应用程序:http://machines-staging.dgplatformer.net/SignalRSamples/Hubs/HubConnectionAPI/

还有消息日志:

[20:05:12 GMT-0200 (E. South America Daylight Time)]: disconnected => connecting undefined
[20:05:12 GMT-0200 (E. South America Daylight Time)]: connecting => connected 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb
[20:05:12 GMT-0200 (E. South America Daylight Time)]: 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb OnConnected
started transport: **serverSentEvents** 49b8a6d4-41ef-4ff8-8f3d-8e1a513649bb

我发现这个部署在 Azure 上(比较):http://signalr-test1.cloudapp.net:82/Hubs/HubConnectionAPI/

日志:

20:11:18 GMT-0200 (E. South America Daylight Time) stateChanged: disconnected => connecting
20:11:18 GMT-0200 (E. South America Daylight Time) starting state: connecting
20:11:19 GMT-0200 (E. South America Daylight Time) stateChanged: connecting => connected
20:11:19 GMT-0200 (E. South America Daylight Time) 68b036a9-4e08-49a4-b11c-9ba15718e2d9 OnConnected
20:11:19 GMT-0200 (E. South America Daylight Time) started transport: **webSockets** 68b036a9-4e08-49a4-b11c-9ba15718e2d9

我需要做什么才能在我们的 IIS8 服务器上使用 WebScotets?

这是 IIS 日志:

Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken

2014-01-29 22:14:13 192.168.0.33 GET /SignalRSamples/signalr/connect transport=webSockets&connectionToken=5O27InctUL0WgtbDF6bF8BhVEzndWHHsxlcZV3Ov1Oi3XiReG5eLZmtvSjL3AoqoKAAIStCAIt8uAnPsBhqSe1aL24Uv0cnAv5%2FP%2BgsEseUC%2BOj2if%2Bl9DMsvc%2BkI3N7&connectionData=%5B%7B%22name%22%3A%22hubconnectionapi%22%7D%5D&tid=2 80 - 186.231.71.234 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/32.0.1700.76+Safari/537.36 - 400 0 0 155

【问题讨论】:

    标签: asp.net iis websocket signalr iis-8


    【解决方案1】:

    其实我发现问题出在我的办公网络上,而不是和服务器有关。我可以使用 WebSockets 与我的智能手机使用 3G 网络进行连接 =)

    【讨论】:

    • 尝试使用 WSS 而不是 WS。它通过代理和防火墙会更好地工作,因为没有中间缓存或缓冲连接。
    • 我看到 websocket.org/echo.html WSS 在这里工作,但 WS 没有。我认为它在不同的端口在这里工作。我稍后会尝试。这比为此购买证书便宜。谢谢!
    猜你喜欢
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    相关资源
    最近更新 更多