解决windows上服务访问问题
前言
因为最近公司需要坐银企直连相关功能,所以特意买了一台阿里云windows服务器(银行提供的安装包为.exe应用程序)。但是在写好程序后发现不能使用阿里云提供的公网ip去访问程序页面(spring boot 程序,主要提供相关操作接口)。更奇怪的是在windows服务器内部ping 公网ip也 没有反应,但是127.0.0.1又可以访问(排除程序问题)。在网上查找到的大多都是在阿里云控制台配置出站规则(不适用我这个问题,最后发现是防火墙的问题),所以特意写此记录此问题,方便以后再遇到这种问题的时候提供解决思路以及让各位道友少走弯路。
1.根据网上查找的在控制台修改规则
spring boot服务提供的端口为8889,在阿里云控制台找到实例,然后在更多里面找到网络和安全组-》安全组配置 ,然后点进去发现大多常用的端口阿里云早已经帮你配置好了,然后再自己手动加上需要使用的8889端口
试了以后发现还是访问不到接口页面。排除这个问题。于是开始ping 公网ip 发现也ping 不通。
2.查找问题所在
在阿里云服务器上去ping 提供的公网ip 发现也ping 不通。怀疑是防火墙设置的问题。于是关掉防火墙,发现服务就好了。(但是该服务为银行相关服务,所以不能关闭防火墙,于是开始找是哪一个服务的问题)。首先打开防火墙 一直ping 公网ip 然后逐个服务的启动关闭 最后发现是这个服务。
于是打开该服务(所有ICMP服务建议打开),现在ping 公网ip可以ping 通了。当我信心满满的去打开页面的时候发现还是打不开。
3.在防火墙配置服务端口。
这次可以确定公网ip没有问题 应该就是端口的问题(不是在阿里云控制台上配置规则)。打开防火墙设置-》高级设置-》入站规则-》新建规则
选择端口,把需要用的程序端口写进去然后下一步 选择TCP下一步执行。最后写一个名称就完了。(我这里用的是8889端口)
然后网页程序就可以在浏览器上成功访问到了!