(转)apache外网不能访问分析与解决方法
转自:http://blog.sina.com.cn/s/blog_6bb7ebcc0101g0aw.html
说明:新手,配完到生效,机器可能有个延迟,切记,这个延迟是正常的。
apache安装好以后,在本机可以用:http://localhost 或者 http://127.0.0.1进行访问,但是,在外网(相对本机来说的,局域网也算)不能访问。
这种情况可以分为两个问题,第一个是在局域网内,第二国是在互联网;
有三种情况可能造成这种现象,
1、配置文件没有设置外网访问;
2、防火墙,计算机本身的防火墙禁止了外网通过80端口(默认的,也可以自定义别的)访问;
3、80端口没有对外网开放,或者局域网内,或者互联网(外网防火墙或者其他运帷软件);
如果你配置的服务器是个远程主机,并且有可能是个虚拟主机,这时一定要搞清楚,是否对外开放了80端口(默认的,可以自定义),或者有防火墙限制了访问,如果有,可能你通过ip链接站点是会出现意想不到的页面,这是因为管理员通过管理软件将你的链接给转移了,在到大你想要的站点之前就给转移了,我以前见过一个就是这样的,明明我的站点是apache,远程访问时却显示nginx服务器页面不存在,我通过对方给的远程链接ip分析(给的ip带有一个特殊的端口号),可能在服务器的外围还有一个管理软件,限制了远程访问,果不其然,通知对方后开放限制后,apache能正常访问。
上面三种问题的解决方法:
1、修改配置文件,apache配置文件httpd.conf的默认配置中有个:Allow from 127.0.0.1,将其修改为:Allow from all 即可;
2、本身防火墙造成的,此时你可以先试试关闭防火墙,看是否能访问,确定问题是否在这里,如果是,就需要配置一下防火墙,如下:
控制面板打开防火墙界面->点击左上角的“允许程序或功能通过Windows防火墙”
看看Apache HTTP Server是否选择了公网,将其选择,尝试外网链接,如果还不行,继续执行下面操作->
点击右下角“允许运行另一程序”->然后点击“浏览”->找到httpd.exe程序“C:\wamp\bin\apache\apache2.2.22\bin\httpd.exe”添加即可;
3、如何知道80端口已经开放,而被外围网络管理软件阻止了呢?
答:在本机和外网分别执行端口扫描(http://tool.chinaz.com/port/),内网开着80,而外网显示80未开放,说明又管理软件阻止了80端口信息传输;这个问题只能由管理员来设置了。