You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're using socket.io for websocket connectivity and noticed that once our node module was being loaded up via iisnode, our Firefox clients started received 400 Bad Request when attempting to upgrade their connection from xhr polling to websockets.
Firefox insists on sending keep-alive in the connection header, so a Firefox client's upgrade attempt will have a connection header set to keep-alive, Upgrade. Would it be possible to change the stricmp to a contains-style comparison, or forward the Connection header value on if already set? (I assume the former option is better than the latter since I'm guessing there's other behavior which requires keep-alive to be set for iisnode to work?)
And last but not least, there is a known workaround. We simply have to remove the "keep-alive" part of the connection header that gets added by Firefox.
To do so, you first have to add the HTTP_CONNECTION variable to the list of allowed variables in the URL REWRITE 2.0 Module in IIS and add a new rewrite rule in you web config:
Hi there,
this issue is basically a copy of an issue in the original repo that does not get that much attention.
The section in the code responsible for this, is suspected to be this one:
https://github.com/tjanczuk/iisnode/blob/bd95f4210c398bff8f8a3c68d031d03cff052512/src/iisnode/cprotocolbridge.cpp#L726
There is also a PR in the original repo that aims to fix this issue.
And last but not least, there is a known workaround. We simply have to remove the "keep-alive" part of the connection header that gets added by Firefox.
To do so, you first have to add the
HTTP_CONNECTION
variable to the list of allowed variables in the URL REWRITE 2.0 Module in IIS and add a new rewrite rule in you web config:The workaround works fine, but as Firefox does not seem to change its behavior, it would be great if this issue could be fixed.
The text was updated successfully, but these errors were encountered: