Linux 中 Dubbo 提供者注册到了内网 IP 上怎么处理
今天在Linux部署Dubbo的服务提供者时,本地启动项目发现linux上的服务注册的是内网ip,然后消费者请求时就出现请求不到的情况(显示内网ip)
怎么让Liunx上的服务注册到公网ip?
方式1:修改hosts文件(不推荐)
hostname
查看机器名- 修改hosts文件
vi /etc/hosts
如果前面机器名已被映射我们就将其注释掉
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 192.168.0.4 aa7SBWjOVd aa7SBWjOVd
# 填写你的公网ip
*.*.*.* aa7SBWjOVd aa7SBWjOVd
特别注意: 后面的机器名需要保持和之前默认的一致(反正亲测不一致还是会注册到内网ip上)
- 修改主机名执行命令
# 主机名改成你自己的即可
hostnamectl set-hostname aa7SBWjOVd
- systemctl restart network 重启网卡
再次查看机器名
hostname
看是否改成 aa7SBWjOVd
- 重启你的服务
如果还是不行就
reboot
后再重新启动dubbo服务
方式2:启动jar包时加参数(==推荐==)
启动命令增加-DDUBBO_IP_TO_REGISTRY=*.*.*.*(公网IP)
- DUBBO_IP_TO_REGISTRY — 注册到注册中心的IP地址
- DUBBO_PORT_TO_REGISTRY — 注册到注册中心的端口
- DUBBO_IP_TO_BIND — 监听IP地址
- DUBBO_PORT_TO_BIND — 监听端口
来个大佬给他看一下!
厉害
可恶,这届鱼油都这么强吗?
大佬
大佬
大佬
6