直接贴代码了,官网配置websocket如下,指定了host,port。
{ "DownstreamPathTemplate": "/ws", "UpstreamPathTemplate": "/", "DownstreamScheme": "ws", "DownstreamHostAndPorts": [ { "Host": "localhost", "Port": 5001 } ], }
如果要用eureka的服务发现配置ServiceName来实现转发websocket,能做到否?
服务注册的地址是http://192.168.1.2:5000,但是websocket监听端口是5001
尝试了以下配置的转发,没能成功。
{
"UpstreamPathTemplate": "/ws",
"DownstreamPathTemplate": "/",
"DownstreamScheme": "ws",
"ServiceName": "im-service",
"LoadBalancerOptions": {
"Type": "RoundRobin"
},
"UseServiceDiscovery": true
},
往eureka注册的host和port,就是192.168.1.2:5000,通过servicename会找到这个地址,然后进行转发,但是由于ws监听的端口是5001,是无法转发到5001的。