① linux搭建Apache(httpd)内网访问正常,外网无法访问(精华帖)
大家好,我是“Bigder”
Linux搭建Apache(httpd)后内网访问正常,外网无法访问。
网上资料找了几遍,汇总后关键的就是这几步。
欢迎分享给需要的你~
一、验证服务本身是否正常
linux命令行,输入指令:curl http://127.0.0.1/,能正常返回html报文数据
输入:curl http://linux服务器的公网IP/
如: curl http://155.153.155.88/
执行超时、没有内容输出和返回
说明apache本身的服务是正常的
二、定位
1、防火墙:service iptables status(已经关闭状态)
没有关闭,参考这篇关闭掉防火墙:
Linux关闭防火墙-iptables|iptable.service could not be found
2、行~原来是因为阿里云安全组设置、未开放80端口外网访问权限
设置方法:
登入阿里云工作台,“实例与镜像”-“实例”-“安全组”
安全组规则手动添加, 入方向开放80端口设置限制
三、再使用:
curl http://linux服务器的公网IP/
也能打印出html报文数据
这样代表,外网访问正常了。一键三连、分享给更多的需要的测试人!
以上,
Bigder
我的历史文章
忘记密码怎么办
Showcase时手机不够怎么办? 云真机平台atxserver2
xmind2testcase思维导图的测试点转化为CSV用例导入禅道
Linux安装JDK-java: command not found&cannot execute binary file
小改动当天转测就要上线,要不要写用例?
测试环境,如何维护才最高效的?
Showcase通过了才算正式提测
轮流测试一个项目、出现bug到底是谁的责任
外包去还是不去
Linux性能压测命令用ab- command not found、plugins: fastestmirror
已经很努力,但上司总让我提升能力,还数落我拖后腿,怎么办?
Linux关闭防火墙-iptables|iptable.service could not be found
Linux下查找指令Find常见用法
② linux系统下web站点外网无法访问。
外网要访问内网部署的web,只能通过DNAT转发数据包。
假设你的网关外网地址是1.1.1.1,直接通过http://1.1.1.1想实现访问。
首先你得保证1.1.1.1地址上面的80端口没有被其他程序占用。
然后将1.1.1.1的80端口转发给内网的192.168.8.8加web监听端口号。
iptables的示例命令:
iptables -I PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.8.8:80
提醒:若此时外网网络可以正常访问,但内网网络通过外网地址是不可以直接访问的,原因是netfilter的规划还不够,还需要另外设置。若没有此问题,则你的网关可能不是linux。
③ linux不能访问外网了
配置文件有误,注释掉/etc/sysconfig/network-scripts/ifcfg-eth0N里面的所有内容,再重启即可。