Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。
创新互联公司专注于南溪网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供南溪营销型网站建设,南溪网站制作、南溪网页设计、南溪网站官网定制、微信小程序服务,打造南溪网络公司原创品牌,更为您提供南溪网站排名全网营销落地服务。
1、环境:阿里云服务器
2、CentOS7系统
3、Docker成功部署
这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
通过 -p 参数来设置一样的端口:
docker ps 查看正在运行的容器
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
这时我们可以通过浏览器访问WEB应用
访问失败
指定外网端口为5000,
1. 本地测试能否打开测试页
本地没有问题。
2. 浏览器中访问
在任意一台电脑上输入公网IP+端口号 (此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123.11.11.11 此时在任意一台有网络的浏览器地址栏输入公网IP: 应该会出现测试页
但现在出现如下图所示:
显示打不开
查啦大量资料,以前曾经也解决过,一定弄明白自已购买的地区后,再去设置安全组的配置规则。
***1. 登录阿里云管理控制台****
2.找到云服务器ECS-概览
3. 点击云服务器ECS,这个是我购买的类型,其他类型的就不清楚啦。
4. 点击本安全组后,再次点击配置规则:
5. 手动添加端口5000
6. 最后保存,再从浏览器地址栏输入公网IP加端口号3344成功显示测试页如图:
该端口属于服务器自定义端口,使用场景很多。
普遍场景:
阿里云Windows服务器远程桌面端口,服务器IP地址+10249看看是否可以访问。
网页端口,服务器IP地址+端口或者网站地址+端口查看是否可以访问。
其它说明:自定义端口应用广泛很多,如果以上查不到,只能到服务器进程查看具体的运行项目。
方法1.阿里云控制台安全组设置。
登陆你的阿里云账户-管理控制台-云服务器ECS-安全组设置-配置规则-公网入方向-在这里添加22的端口访问规则,统一设置为拒绝即可,ip地址不用管。
方法2.使用iptables来禁止端口
使用iptables是做运维的孩纸们最基本要掌握的,相信各位都会,因此这里不再列出方法。
可以在服务器提供商的安全设置中开启,这里以阿里云服务器为例。
1、打开百度搜索“阿里云”,在展开的搜索结果中找到阿里云官网并点击进入:
2、打开自己服务器的设置中心,点击左侧导航栏上的“防火墙”按钮进入防火墙设置界面:
3、打开防火墙设置后点击界面右上角的“添加规则”按钮:
4、在弹出的窗口中将应用类型选择为“HTTPS”,然后将端口范围选择为“443”,点击“确定”按钮保存即可开启:
5、这时就可以在防火墙中看到https的443端口已经被开启了: