(чтобы весь запрос от Spring-Cloud-Gateway к нисходящим сервисам проходил через прокси)
Я ссылался на https://github.com/spring-cloud/spring-cloud-gateway/issues/176.
Настроил прокси для клиента netty, выполнив
spring:
cloud:
gateway:
httpclient:
connectTimeout: 5000
proxy:
host: test.proxy.local
port: 8080
Когда выполняется вызов к шлюзу Spring-Cloud, я ожидаю, что вызов пройдет через прокси-сервер и приземлится в фактическом настроенном нисходящем URL.
Когда прокси-сервер пытается подключиться, я получаю следующую ошибку
i.n.handler.proxy.ProxyConnectException: http, none, test.proxy.local/172.18.199.200:8080 => api.cicd.ps.money:80, status: 403 Proxy denies fulfilling the request
at io.netty.handler.proxy.HttpProxyHandler.handleResponse(HttpProxyHandler.java:188)
at io.netty.handler.proxy.ProxyHandler.channelRead(ProxyHandler.java:260)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at i.n.c.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at i.n.c.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438)
at i.n.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
at i.n.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
at i.n.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at i.n.c.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at i.n.c.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at i.n.c.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at i.n.c.n.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:648)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:583)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at i.n.u.c.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at java.lang.Thread.run(Thread.java:748)