Чтобы добавить маршрут для микросервиса на основе веб-сокета, я настроил свое приложение в соответствии с документацией по облачному шлюзу Spring *
- id: sample_service_web_socket_handshake_url
uri: lb:ws://sample-service
predicates:
- Path=/notification-service-ws/**
выше Notification-Service- ws - это URL-адрес рукопожатия веб-сокет-службы
при прямом подключении к этой конечной точке веб-сокета (без весеннего облачного шлюза) без проблем
, но при попытке подключения используя spring-cloud-gateway, шлюз выдает следующий журнал предупреждений
2020-01-09 10:44:02.923 WARN 5155 --- [-server-epoll-5] .a.w.r.e.DefaultErrorWebExceptionHandler : Failed to handle request [GET http://192.168.10.44:4260/notification-service-ws]: Response status 400 with reason "Invalid 'Upgrade' header: {Sec-WebSocket-Version=[13], Sec-WebSocket-Key=[0EJxcMdBmRhZ5suS/INKnQ==], Sec-WebSocket-Extensions=[permessage-deflate; client_max_window_bits], Host=[192.168.10.44:4260]}"
Я убедился, что HTTP-запрос не отправляется службе websocket