一、部署操作
1.1 阿里云ECS服务器版本
hostnamectl
显示版本:Ubuntu 18.04.6 LTS
1.2 启动java服务
nohup java -jar test.jar &
1.3 查看java服务端口8085
netstat -tunlp|grep 8085
显示:
tcp6 0 0 :::8085 :::* LISTEN 14966/java
1.4 在阿里云ECS安全组开放8085端口
image.png
注意:可以不开放ipv6
远程访问8085服务的接口访问不通
二、解决
2.1 防火墙开放8085端口
# 开放 TCP 8085 端口
firewall-cmd --add-port=8085/tcp --permanent
# 重载防火墙配置
firewall-cmd --reload
# 验证端口是否开放
firewall-cmd --list-ports
# 输出应包含: 8085/tcp
到这一步,正常就能远程访问了
三、补充问题
3.1 本地 ping 阿里云公网IP不通
在阿里云ECS安全组开放 ICMP(IPv4)
image.png
3.2 java -jar启动绑定的是ipv6
可以在启动命令中加参数,强制绑定到ipv4
正常的启动命令
nohup java -jar test.jar &
显示如下:
image.png
强制绑定到ipv4
nohup java -Djava.net.preferIPv4Stack=true -jar test.jar &
显示如下:
image.png
3.3 测试端口8085是否通
在cmd中输入命令
telnet 112.124.203.199 8085