记Eureka和Gateway跨服务器使用的小坑
搭建Eureka和Gateway服务发现和网关时。
本地服务和本地网关使用的一直很优秀。
但使用这套体系的基本原则是多Eureka和Gateway集群分布。所以我在一次单节点使用时想发微服务发布到另一台服务器上
利用网关进行路由。
这是我的注册到Eureka的配置文件
其中打码处均是Eureka和Gateway的公网IP地址和端口
然后启动微服务,发现服务已经成功注册到Eureka中。。。如下图
首先上swagger图
证明可以成功访问。好了然后下一步
使用ip+服务名+api接口进行访问api接口
其中8005是我的令一台机器的网关端口。
发现竟然路由不到我的另一台服务器的api
这不是很科学啊。为什么会路由不到呢。
调查原因
发现网关竟然在路由时ip地址使用的时本地ip地址。但是我配置的明明时远程服务器的地址啊。调查网关源代码。怀疑时网关问题
整理跨域。发现其实还是这样。这就尴尬了。
突然灵光一闪。能不能是注册中心存放的地址不对,导致网关路由错误呢?
开始调查Eureka问题。以及配置文件无果。
开启百度大法。
偶然发现一篇文章。受益匪浅
https://blog.****.net/qq_32647655/article/details/86593520
首先感谢一下这位大神。
文章中有详细介绍了几种路由关系。
preferipaddress字段我写的是true啊。卧槽。好像知道问题所在了
火速修改false
发现启动后竟然路由到了我的远程计算机名字
那就明白了。加个hostname就ok了啊。我告诉你我ip不久行了么
最终如下
执行。ok。
问题解决了。