[英]HttpHostConnectException: Connect to localhost:2375 [localhost/127.0.0.1] failed: Connection refused
[英]finishConnect(..) failed: Connection refused: localhost/127.0.0.1 , error: Webflux, Webclient, Spring boot, java
我在 localhost 中使用 webclient 时遇到此错误,你们能帮帮我吗??
ERROR org.springframework.boot.autoconfigure.web.reactive.error.AbstractErrorWebExceptionHandler - [0e1ef5cd-1] 500 Server Error for HTTP G
ET "/product/spec/template/posts"
product | io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:8090
product | Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
product | Error has been observed at the following site(s):
product | |_ checkpoint ⇢ Request to GET http://localhost:8090/retailer/retailer/posts/12 [DefaultWebClient]
product | |_ checkpoint ⇢ Handler com.zucco.tech.hm.service.product.controller.ProductSpecTemplateController#posts() [DispatcherHandler]
product | |_ checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
product | |_ checkpoint ⇢ HTTP GET "/product/spec/template/posts" [ExceptionHandlingWebHandler]
product | Stack trace:
product | Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
product | at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124) ~[netty-transport-native-unix-common-4.1.51.Final.jar!/:4.1.51.Final]
不行,我们不能直接通过localhost调用,这里的术语是“容器调用容器”,所以,我们应该通过容器名称一起调用。
order-service: build: docker/order-service container_name: order-service ports: - 8082:8080
private String hostname = "http://order-service:8080/order-service/welcome";
你可以看到,当我们通过浏览器(真实客户端)调用订单服务时,我们通过扩展端口(8082)调用,但是如果容器调用容器,我们应该通过它s container
名称和它的端口(8080)来调用。
连接被拒绝意味着没有服务器监听地址:端口。 您可以使用netstat -tulpen
检查在哪个地址上打开了哪些端口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.