config server地址问题
Closed this issue · 8 comments
oojeek commented
我的config server在内网中,因此注册到Eureka的地址为内网地址,客户端通过外网连接到meta server后,就获取了config server的内网地址,然后就无法连接config server了,这个如何解决?
oojeek commented
DEV_LB的方式我试过,如果做了端口映射就不能用了,DEV_LB只能设置IP,不能设置端口,数据库中指定不知道怎么设置,我尝试设置了ApolloConfigDBPro.ServerConfig中的eureka.service.url不起作用
idoop commented
设置了DEV_LB
的话,请将内外的端口同步一致,因为容器可以开放多个端口,所以再在容器启动时多映射添加一个网关端口即可,或者直接设置网络模式为host模式,然后直接指定DEV_CONFIG_PORT和DEV_ADMIN_PORT。
oojeek commented
设置DEV_LB的方法我比较清楚,网络模式无论是host还是bridge,都存在路由器端口映射的问题,数据库指定的方式能否指导一下?
idoop commented
数据库中指定的地址,就是启动admin和config后从数据库中获取到的Eureka地址,那么假设你的网关IP为1.1.1.1
,映射Port为80
,那么其实就是指连接config服务中的Eureka的地址和端口是这个。因此,只需要将数据库中的localhost和8080改为1.1.1.1和80。然后设置下网关对外的80转发进内外config容器启动后暴露的地址和端口即可。
oojeek commented
原理上明白了,具体怎么配置能否提供一下?试了半天也没弄成,先谢了
idoop commented
这个就是直接在数据库ServerConfig表改好了,启动容器,然后在路由网关上改转发就好。