大家好,有人搭建过web服务器吗,在自己家里,然后通过公网的IP地址访问。
我现在搭建好了。在局域网内可以通过公网IP地址访问,但是用手机(联通3G)访问公网IP就不行。
我有装花生壳,花生壳的域名在家里的局域网也能访问,但是用手机访问域名也打不开网页。
谢谢各位 懂的大神帮帮忙,帮忙看下是怎么回事。谢谢了!!
------解决思路----------------------
你应该在外网访问。
还有默认80端口是 禁用的,电信禁止的。
------解决思路----------------------
家里用的是局域网ip吧,用路由器做个端口映射
一般叫什么虚拟服务器,映射之类的选项,填上内网ip,80端口,就可以用公网ip访问了
------解决思路----------------------
这里有几个问题是需要注意的:
1、局域网中是不能通过外网出口再入局域网的,所以测试时需要从真实的外网访问
2、从3G网络访问不了,不能说明任何问题。因为DNS解析是需要时间的,只有在域名解析被传递到你的一级DNS是,解析才能成功。这个过程所需时间要根据同一地域对该域名访问的频繁程度而定,通常要有3-5天
3、至少目前电信是禁止了这种个人提供 web 服务的行为的
4、花生壳之类的虚拟域名软件,在 ADSL 上都是有效的。但是在小区宽带中就不一定了,只要中途插有路由器,则虚拟域名就失效了
------解决思路----------------------
我很久之前尝试过,也看到过有人说是封了80端口,其实说封了80端口的应该没有仔细测试过。
我经过测试,我们这边的联通是根据协议来封的,你可以试试,不管在哪个端口上,你的上行数据都能发送到你的服务器上,但是你的服务器下行数据却被拦截了。不管你在哪个端口,只要你的IP不是备案的,下行信息全部拦截。
测试代码:
<?php
file_put_contents('./test.txt',$_SERVER['REMOTE_ADDR']."\n");
?>
如果你的情况跟我的类似,会在你的程序目录下生成一个 test.txt 文件,这个文件中有访问你这个服务器的客户端的IP地址。
------解决思路----------------------
开通路由器的应用服务器里的80端口,然后用本地的外网IP就可以访问。
如果你的路由器是和电信的猫一体的,就需要去找电信要你的超级管理密码。
动态IP的话可以使用花生壳之类的动态域名。
------解决思路----------------------
在路由器里做端口隐射啊,把公网ip隐射到你的内网ip上。
------解决思路----------------------
我可以问一下,你这服务器是用于干嘛的吗?
------解决思路----------------------
最好用花生壳吧,想了解原理,去理解一下打洞洞的原理