nginx 整合 springcloud-gateway网关转发websocket请求

主要在location配置端增加以下配置项

proxy_http_version 1.1;
		 proxy_set_header Upgrade $http_upgrade;
		 proxy_set_header Connection "upgrade";

完整location配置如下:

http://api-gateway:9090,为网关服务地址

location /data-development/ {
         proxy_pass http://api-gateway:9090;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
		 proxy_http_version 1.1;
		 proxy_set_header Upgrade $http_upgrade;
		 proxy_set_header Connection "upgrade";
      }
在route路由属性配置下,增加以下配置
- id: data-development-web-websocket #  data-development-websocket服务路由
  uri: lb:ws://data-development-web
  order: 1
  predicates:
    - Path=/data-development/ws/**
- id: data-development-web #  data-development服务路由
  uri: lb://data-development-web # websocket所在的服务
  order: 2
  predicates:  
    - Path=/data-development/**

然后重启网关,再重启nginx即可。

解释:

其中

经验分享 程序员 微信小程序 职场和发展