Websockets 代理并与 IIS Web 服务器同时使用端口 443
Posted
技术标签:
【中文标题】Websockets 代理并与 IIS Web 服务器同时使用端口 443【英文标题】:Websockets proxies and using port 443 simultanously with IIS web server 【发布时间】:2015-05-11 09:19:02 【问题描述】:我已经阅读了很多关于 websockets 和反向代理等的信息,但直到现在我还没有得到任何令人满意的解决方案或答案。
如果我想在同一个端口(80 或 443)上使用 websockets 和我的 web 服务器,是否有可能让它与 IIS 一起使用?我知道在 IIS 8 之后会有一些变化,但是以前的版本有什么变化,以及如何在 IIS 8 中进行配置?
我配置的每个服务器都可以有另一个 url,甚至可以有一个代理来导航。那么我可以配置我的 javascript 客户端,使其始终到达 websocket 服务器吗? 我知道我可以这样做:
var url = ws://" + window.location.hostname + ":12345";
但是如果有代理怎么办?
谢谢!
【问题讨论】:
【参考方案1】:8 之前的 IIS 版本不支持 WebSocket。如果您想拥有 websocket,则需要将其托管在另一个进程中,当然是在另一个端口中。
IIS8 可以在与 Web 应用程序相同的端口上处理 websocket。您可以在同一个 ASP.NET 应用程序中使用不同的 websockets 端点,例如 /sports/soccer 中的一个来获取有关足球的更新,而 /sports/golf 中的另一个来获取有关高尔夫的更新,如果您愿意,它们将具有不同的处理程序。
关于代理,请阅读How html5 Web Sockets Interact With Proxy Servers。基本上,如果您使用 WSS://,大多数情况下都可以。
【讨论】:
以上是关于Websockets 代理并与 IIS Web 服务器同时使用端口 443的主要内容,如果未能解决你的问题,请参考以下文章