目标是使用反向代理将Socket.io服务器托管在与我的网站相同的端口和域上,并将其托管在IIS 10上。并且理想情况下,在IIS中而不是socket.io应用程序中配置SSL。
根据我的阅读,可以使用反向代理URL重写规则来实现。
但是我的javascript客户端应用程序显示此错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'serve://dist' is therefore not allowed access. The response had HTTP status code 502.
我已设置反向代理URL重写规则以匹配(正则表达式)URL socket\.io\/(.*)
并将其重写为localhost:8001/{R:0}
我的web.config包含以下内容:
<rewrite>
<rules>
<clear />
<rule name="ReverseProxyInboundRule1" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="socket\.io\/(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="localhost:8001/{R:0}" />
</rule>
</rules>
</rewrite>
我看不到任何可以区分http://和ws://的地方。
老实说,我不知道我在做什么。我在网上阅读的很多东西已经过时了,真的不是很有帮助。
有什么帮助吗?