小编tim*_*ase的帖子

通过IIS ARR代理Meteor WebSockets

我们需要通过IIS代理代理Meteor.IIS站点接受特定Meteor网站的绑定,并将请求代理到备用端口.

Web套接字不起作用,Meteor正在恢复XHR.

Web.Config文件如下:

<rule name="Meteor reverse proxy" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{CACHE_URL}" pattern="^(.+)://" />
    </conditions>
    <action type="Rewrite" url="{C:1}://127.0.0.1:8008/{R:1}" />
</rule>
Run Code Online (Sandbox Code Playgroud)

通过服务器上的127.0.0.1:8008访问网站,它工作正常.通过IIS代理访问网站失败.

我注意到IIS ARR正在更改标题的大小写,删除标题(sec-websocket-extensions)并添加一些额外内容.这可能没有关系.

IIS代理:

失败的标题

直接:

工作标题

MS文档建议在与NodeJS一起使用时禁用WebSockets.更新此设置无济于事. http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support#TOC301258519

有人遇到过这个问题吗?

更新 您会注意到上面的标题引用了ARR2.5,此版本不支持Web套接字.代理套接字需要3.0.

iis proxy websocket meteor arr

15
推荐指数
1
解决办法
986
查看次数

标签 统计

arr ×1

iis ×1

meteor ×1

proxy ×1

websocket ×1