阿里云ECS部署java服务无法远程访问

一、部署操作

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容