[ASP.NET]关于DOT NET的IIS配置LocalHost访问和127.0.0.1访问的区别
项目上遇到一个问题跟大家分享下,配置的localhost地址本地无法访问接口,外网却可以访问,查其原因百度资料比较全面的解释
localhost与127.0.0.1的概念和工作原理之不同
要比较两个东西有什么不同,首先要弄清两者的概念。所以,我们从概念开始。
localhost:也叫local ,正确的解释是:本地服务器
127.0.0.1:在windows等系统的正确解释是:本机地址(本机服务器)
一个是“本地”,一个是“本机”。不过从这两个词来看,还是不能比较两者的区别。我们再看看他们的工作原理。
localhot:是不经网卡传输的,它不受网络防火墙和网卡相关的的限制。
127.0.0.1:是通过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制。
通过上述概念和工作原理的比较,我想现在大家都心里有谱了吧,知道localhost与127.0.0.1有什么不同了。文中开头提到的localhost不能访问但127.0.0.1可以访问的问题,究其原因,很可能是localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。
另外,我们现在也应该明白了一个道理,那就是一般设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。
localhost不能访问127.0.0.1可以访问的解决方案
一般情况下ping localhost 应该为127.0.0.1 ,但是有时会出来下面这个东西:
>ping
localhost
reply from ::1: times<1ms
reply from ::1:
times<1ms
reply from ::1: times<1ms
地址根本不是“127.0.0.1”,而是“::1:”
>ping
127.0.0.1 正常
reply from 127.0.0.1 : bytes=32 times<1ms
reply from
127.0.0.1 : bytes=32 times<1ms
reply from 127.0.0.1 : bytes=32
times<1ms
♦原因分析:
IPV6协议将127.0.0.1解析为
::1 (127.0.0.1 ipv6的形式)
Vista开始菜单中输入cmd回车后打开命令提示符,输入ping
localhost默认的就会出现返回的数据包并不是127.0.0.1而是::1。这就是Ipv6格式的本地地址,
♦解决方案1:
修改host文件用记事本打开C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:
127.0.0.1 localhost
如果没有则将其添加进去,再查看能否访问localhost。
host文件部分内容
#
127.0.0.1 localhost
# ::1 localhost
127.0.0.1localhost
localhost
127.0.0.1
♦解决方案2:
1、打开Internert信息管理查看IIS是否启动,且默认网站时候已经开启;
2、打开http://127.0.0.1/
看是否能访问IIS的默认网页,能访问则说明IIS已经成功安装到电脑上,可能是无法解析localhost;
3、开始--命令(cmd)--ping
localhost,看是否能ping通,从127.0.0.1上返回信息,如果成功则说明可以解析localhost;
4、如果上一步不成功,则用记事本打开C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:127.0.0.1
localhost
,如果没有则将其添加进去,再查看能否访问localhost。
5、尝试将网站的主目录指向另一个目录或新建一个虚拟目录,并在该新目录创建一个新的网页文件,如index.html,然后将其加到默认网站的"文档"项中作为默认访问的网页,重新输入网址:http://localhost/,看否能访问。
6、还是不行的话将IIS卸载掉,重新再安装一次。
♦解决问题的思路:
1、ping一下localhost,这个是关键,看看是否能ping通,然后看解析到那个ip地址下去了
2、然后查看本机的hosts文件,看看是否有被修改,如果被修改,就改回正常的模式
3、解决问题本质,ipconfig看看网络是否正常,如果不正常就进行修复
4、用杀毒软件或者360等修复软件进行扫描,看看是否存在恶意插件或者病毒,然后清除,一劳永逸!
5、多动脑,想办法解决问题,善于用搜索引擎。
- 解决Asp.net生成网站localhost可以访问而127.0.0.1和本机IP错误400的问题
- 关于在IIS中出现ASP.NET 未被授权访问所请求的资源问题的解决
- 关于为什么asp.net不能打开localhost而换成127.0.0.1就可以打开的原因
- 关于IIs7.5 中配置Asp.Net 基本问题
- IIS:配置IIS使用ASP.NET 2.0 http://localhost has not been configured
- 要访问本地IIS 网站,必须安装下列IIS组建: IIS6元数据库与IIS6配置兼容性ASP.NET
- 关于ASP.NET的IIS配置 ……转
- asp.net配置IIS后"服务器应用程序不可用"的解决办法 服务器应用程序不可用 您试图在此Web服务器上访问的Web应用程序当前不可用。
- 关于在IIS中如何配置INFRAGISTICS中ASP.NET例子
- 关于asp.net和iis的进程/线程问题,假如网站有1000个人访问,会产生多少个进程/线程啊
- 关于IIS上发布asp.net应用程序让外网用户访问问题
- asp.net配置IIS后"服务器应用程序不可用"的解决办法 服务器应用程序不可用 您试图在此Web服务器上访问的Web应用程序当前不可用
- 使用asp.net编译web项目时,localhost可以访问,127.0.0.1不能访问
- asp.net Web.config 在不同版本的IIS配置的IHttpHandler的访问路径,以及经典模式和集成模式不同的配置
- 关于asp.net 下发送邮件 未能访问"CDO.Message"对象 问题(1)
- ASP.NET与IIS配置问题总结!
- 关于Flex、Tomcat、Jrun、ColdFusion、IIS、ASP.Net结合使用的误区!
- 关于ASP.NET访问Excel 电子表格的代码
- 关于建立asp.net WEB应用程序时,提示IIS运行的不是asp.net 1.1版的解决办法[网上收藏]
- Windows 2003 Server配置IIS服务器(ASP, ASP.NET)全功略