搭建Eureka和Gateway服务发现和网关时。

本地服务和本地网关使用的一直很优秀。

但使用这套体系的基本原则是多Eureka和Gateway集群分布。所以我在一次单节点使用时想发微服务发布到另一台服务器上

利用网关进行路由。

这是我的注册到Eureka的配置文件

其中打码处均是Eureka和Gateway的公网IP地址和端口

然后启动微服务,发现服务已经成功注册到Eureka中。。。如下图

首先上swagger图

证明可以成功访问。好了然后下一步

使用ip+服务名+api接口进行访问api接口

其中8005是我的令一台机器的网关端口。

发现竟然路由不到我的另一台服务器的api

这不是很科学啊。为什么会路由不到呢。

调查原因

发现网关竟然在路由时ip地址使用的时本地ip地址。但是我配置的明明时远程服务器的地址啊。调查网关源代码。怀疑时网关问题

整理跨域。发现其实还是这样。这就尴尬了。

突然灵光一闪。能不能是注册中心存放的地址不对,导致网关路由错误呢?

开始调查Eureka问题。以及配置文件无果。

开启百度大法。

偶然发现一篇文章。受益匪浅

https://blog.csdn.net/qq_32647655/article/details/86593520

首先感谢一下这位大神。

文章中有详细介绍了几种路由关系。

preferipaddress字段我写的是true啊。卧槽。好像知道问题所在了

火速修改false

发现启动后竟然路由到了我的远程计算机名字

那就明白了。加个hostname就ok了啊。我告诉你我ip不久行了么

最终如下

执行。ok。

问题解决了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐