Iis Azure网站上的ARR反向代理删除WebSockets响应头';Sec WebSocket接受';

Iis Azure网站上的ARR反向代理删除WebSockets响应头';Sec WebSocket接受';,iis,azure,reverse-proxy,arr,Iis,Azure,Reverse Proxy,Arr,我正在尝试在Azure网站内设置ARR。我在Azure VM上有一个正在运行的实现,但我想移动到一个网站,这样我就不必主动管理VM 我遇到的问题特定于通过我的ARR反向代理的SignalR WebSockets连接请求和响应 通过IIS请求跟踪通过ARR之前服务器上的响应: Upgrade: Websocket Server: Microsoft-IIS/8.0 X-Content-Type-Options: nosniff X-Powered-By: ASP.NET X-Powered-By:

我正在尝试在Azure网站内设置ARR。我在Azure VM上有一个正在运行的实现,但我想移动到一个网站,这样我就不必主动管理VM

我遇到的问题特定于通过我的ARR反向代理的SignalR WebSockets连接请求和响应

通过IIS请求跟踪通过ARR之前服务器上的响应:

Upgrade: Websocket
Server: Microsoft-IIS/8.0
X-Content-Type-Options: nosniff
X-Powered-By: ASP.NET
X-Powered-By: ARR/3.0
Sec-WebSocket-Accept: IVoaaOhRLbaSxQzHV1TRkwHbtFc=**
Connection: Upgrade
X-FE-DATA: AppId:Unknown-StatusCode
X-Powered-By: ASP.NET
DWAS-Handler-Name: EXECUTE|101|0|0x0|CONFIG_SUCCESS|ApplicationRequestRoutingHandler|::1|\\100.68.100.59\volume-21-default\be0a77feeba577989612\3323291baecf417bb67a391f58af8a90\
客户看到的响应:

HTTP/1.1 101 Switching Protocols
Upgrade: Websocket
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
X-Powered-By: ARR/3.0
X-Powered-By: ASP.NET
Connection: Upgrade
如您所见,
Sec-WebSocket-Accept
标题正在从响应中删除。这意味着客户端连接失败,默认为长轮询,而不是websockets协议


知道为什么要删除此标题吗?正在使用具有本机WebSocket支持的ARR 3.0,并且在Azure网站配置面板中启用了WebSocket。

您是否在代理配置中指定了保留HostHeaders=“true”的标志

 <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="true" reverseRewriteHostInResponseHeaders="true" /> 


我也遇到了这个问题,试图在Azure中运行WAMP路由器。但是在我的例子中,被剥离的HTTP头是“Sec WebSocket Protocol:”我向Microsoft报告了这个问题,他们承认了这个问题,但还没有解决问题的ETA。谢谢你这么做,@PaulFryerTo对于其他有这个问题的人,我已经找到了一个解决办法,使用Azure云服务而不是Azure网站。使用启动任务,我能够根据自己的喜好配置IIS。