考问站长(48)
站长空间
湖北读者:杨志
我使用了PHP CMS开源程序来架设网站,服务器环境使用的是Windows Server 2003+PHP5.0+IIS+MySQL,单位使用电信专线共享上网,因此服务器使用内网IP,现在的问题是:在本机可以正常浏览,但在外网却要输入账户和密码,使用花生壳也无法解析域名。
还需说明的是在服务器管理程序中我已经选择了匿名访问和Windows身份验证,网站和目录都添加了来宾账户并开放了所有权限,但还是无法解决问题。希望各位站长朋友不吝赐教。
站长:kuhanzhu
根据该读者提到的情况,笔者认为可从以下几方面解决问题。
1.防火墙需要设置。比如关闭防火墙。
2.有些地方的ISP会拦截80端口。若遇这种情况,就要注册顶级域名,使用专业服务扩展功能,URL跳转功能能把访问域名默认的80端口自动跳转到其他服务端口。用户只需要把WEB服务的端口改成其他的,加上URL跳转功能即可解决问题。
3.WEB访问权限设置,WEB文件目录必须可以让WEB服务站点运行用户或WEB站点匿名用户进行访问,根据某些程序特点,还需要为目录或文件设置可写入或执行权限。在调试阶段建议把目录设置为everyone全权控制,在服务建立后再把权限缩小。
4.设置路由器端口映射,一般可以通过访问http://192.168.0.1/进行设置。各路由器登录的账户都有区别,可查看路由器使用说明书。当你的花生壳程序安装完成并在线、WEB服务也搭建好、网络防火墙也设置了相应的访问规则时,首先要明白花生壳会获取你的公网IP地址,并将它绑定到所申请的固定域名,而Internet访问你公布的域名时首先会进行一个解析过程,也就是反过来把域名转换为IP地址,最终也是通过你上网的公网IP地址来进行服务的连接。
既然Internet是访问公网IP,那么作为网管的你要准确地知道公网IP地址所在的设备在哪里,如果你不知道获得公网IP地址的设备在哪里,可以在命令提示符模式下敲入 IPCONFIG /ALL,其中DEFAULT GATEWAY(网关)极有可能是获得公网IP地址的设备(多层网络环境除外)。
网关可能是一台路由器,也有可能是一台计算机。此时需要登录到获得公网IP地址的设备上进行端口转发规则设置,赶快把公网所访问的服务端口(具体看你做什么服务了)转发到设备后面的计算机去,例如WEB服务使用的是80端口,那么把80端口设置规则映射到内网计算机的IP(例如192.168.1.2或10.0.1.2)。也可以映射其他端口,比如8080等,当然在IIS控制面板上也要把设置端口为8080。