Цель состоит в том, чтобы разместить сервер socket.io на том же порту и домене, что и мой веб-сайт, размещенный на IIS 10 с использованием обратного прокси-сервера.И в идеале настроить SSL в IIS, а не в приложении socket.io.
Из того, что я прочитал, этого можно добиться, используя правило перезаписи 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: //.
Честно говоря, я понятия не имею, что я делаю.Многие материалы, которые я читаю онлайн, устарели и на самом деле не очень полезны.
Любая помощь будет признательна?