Chrome 解析DNS出错,这个错误比较罕见,甚至说有点奇特。今天在使用Apache配置虚拟主机时,出现了一个非常奇怪的现象。我按照配置的步骤配置虚拟主机,如下

配置虚拟主机的步骤如下:

1. 启用  httpd-vhosts.conf

在 httpd.conf 文件中

# Virtual hosts ,虚拟主机

Include conf/extra/httpd-vhosts.conf

2. 在httpd-vhosts.conf文件中做配置

#配置我们自己的虚拟主机

<VirtualHost 127.0.0.1:80>

DocumentRoot "d:/myblog"

#这里配置欢迎首页面

DirectoryIndex index.html index.htm index.php

<Directory />

Options FollowSymLinks

#不许可别人修改我们的页面

AllowOverride None

#设置访问权限

Order allow,deny

Allow from all

//由于版本更新,所以这个语句不能再使用,Apache2.4需要使用Require all granted

</Directory>

</VirtualHost>

3.修改hosts 文件

.127.0.0.1            localhost

但是很遗憾的是,我调试的浏览器是Chrome,这就使得我刚开始解决问题时就出现错误的方向,我刚开始认为是自己的配置错误,所以一直在尝试,但是最后都没有发现问题,Chrome浏览器停留在这个页面。(这个页面就是Apache的默认页面,而不是虚拟主机中的页面)

后来,我觉得会不会是hosts文件出错呢?所以我尝试使用IP:http://127.0.0.1/访问,让我惊讶的是,这时候访问成功了。

所以我决定问题就出现在localhost与IP:http://127.0.0.1/之间,找到问题的发生点,然后我在百度搜索出来的结果如下
1、localhost也叫local ,正确的解释是:本地服务器
 
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
 
他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1
 
2、localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
 
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
本机IP 也是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。
但是本机IP与127.0.0.1的区别是:
 
127.0.0.1 只能通过本机访问
本机IP 通过本机访问也能通过外部访问
一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
但是即使找到这些区别我也没法解决这个问题啊,因为我的配置在网上的资料中是正确的。那么,我觉得最关键的可能就是Apache的版本问题,但是搜索后也没有出现这种情况。
这时候只剩下最后一种可能,那就是浏览器有问题,于是,我用了搜狗浏览器去访问。结果显示正常,终于知道问题在哪里了。就是Chrome浏览器出了问题。

确定问题来源后,我再次在百度查找答案,不过我找不到答案。我觉得主要原因可能是因为比较少人使用,而且不是主流,所以碰到这种问题比较少。所以只好FQ出去,到谷歌找答案。
原来问题的关键在于dns的解析上,不过我真的很笨,dns就是浏览器解析的啊,肯定是浏览器出现了问题。
我把问题的解决方法告诉大家:
down voteaccepted

方法一:1Clear up the Chrome's DNS cache by typing this in the Chrome browser

  • chrome://net-internals/#dns

Screenshot -> Flushing Chrome DNS cache

  • You will see a button "Clear Host Cache". Press that DNS cache will be flushed.

  • Keep this DNS window open. Now access the virtual host in the browser for me it was http:/api.localhost. Once you do that you will see a new entry in the DNS window. for me it was "localhost." notice the period "." at the end of localhost that showed an error.

  • Last step is to simply add this entry as

    127.0.0.1 localhost.

    in the hosts file located at for ubuntu : /etc/hosts

    for windows : C:\Windows\System32\drivers\etc\hosts

方法二:Another solution could be to ditch the .localhost /.dev at the end of your local virtual host domain

This has to do with some new changes by google. ".dev" and ".local" comes under google's TLD (In the corner of the internet where people care about DNS, there is a bit of an uproar at Google's application for over a hundred new top-level domains, including .dev etc)

Use a domain name you own. Possibly using the full name like "localhost.dev.$yourdomain" could help here on the setup.

原来,谷歌浏览器升级之后,对DNS的解析产生了新的规则,如.localhost/.dev都属于 google's TLD 中的一种了,所以,再也不能使用谷歌浏览器通过localhost访问本地了。不过上述的方法一我在测试后发现还是不可行,猜测原因是随着更高版本的升级,对DNS的解析更加严格了。所以在这里还是推荐使用方法二,也就是把localhost改为localhost.dev.$yourdomain"或者其他(只要不出现”.localhost“就可以了)。当然,这个需要在 windows : C:\Windows\System32\drivers\etc\hosts中配置。
所以到这里,问题就完美解决了。
在这里再次提醒自己,遇到问题不要慌,深入分析问题,分析出问题属于哪一类的问题,使用便于搜索的词语描绘这个错误,在搜索引擎中搜索相应的解决办法,如果还是解决不了,到谷歌上去搜,如果还是解决不了,可以到论坛上面发问,这样,一般都不会出现解决不了的问题。stack overflow真的是一个好地方,我有很多问题都在这里找到解决的方法。

Apache配置完虚拟主机后,使用Chrome访问localhost还是默认目录htdocs的更多相关文章

  1. Apache配置虚拟主机后,不能访问localhost的问题

    今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以后,l ...

  2. Linux配置虚拟主机后,只能访问到主页怎么办?

    Linux配置虚拟主机后,只能访问到主页怎么办? 今天配置了lamp后,添加了一个虚拟主机,配置http.conf后,增加虚拟主机,测试访问发现只有域名下能访问,ljt.com但是域名下所有的都访问不 ...

  3. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]

    经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...

  4. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项

    经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...

  5. wamp配置apache虚拟主机支持多域名访问localhost

    1.背景: 在进行网站开发的时候,通常需要以http://localhost或者127.0.0.1等地址来访问本地环境的网站.不过随着开发项目的增多,需要每次先访问localhost然后再选项目,显得 ...

  6. centos5.5用phpstudy一键安装配置虚拟主机后,yum配置代理服务器squid

    最近因为工作需要,开发站点需要在lamp环境下跑网站,于是在win7上跑虚拟机装了一个centos5.5的linux 并用集成环境配置了一个lamp环境,这里用的是phpstudy的一键安装包,并配置 ...

  7. apache配置虚拟主机后,启动速度慢

    apache配置虚拟主机后,启动速度慢且提示“the requested operation has failed” 可以通过在cmd下启动,来查找问题(命令中的“apache2.2”,是服务名,根据 ...

  8. Apache配置虚拟主机后让其他电脑访问

    关于Apache配置虚拟主机后在局域网中让其他电脑访问 #test1# NameVirtualHost *:80         ServerName  www.t1.com     Document ...

  9. 关于Apache配置虚拟主机后在局域网中让其他电脑访问

    #-----------adxssp------------# NameVirtualHost *:80 <VirtualHost *:80> ServerName www.b.com D ...

随机推荐

  1. HDOJ/HDU 2710 Max Factor(素数快速筛选~)

    Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 < ...

  2. 4种字符串匹配算法:KMP(下)

    回顾:4种字符串匹配算法:BS朴素 Rabin-karp(上) 4种字符串匹配算法:有限自动机(中) 1.图解 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R ...

  3. Bzoj 2818: Gcd 莫比乌斯,分块,欧拉函数,线性筛

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 3241  Solved: 1437[Submit][Status][Discuss ...

  4. Google生活

    本博文的主要内容有 .Google生活的介绍 1.Google生活的介绍 Google生活搜索的官网: http://shenghuo.google.cn/shenghuo/ http://sheng ...

  5. java 启用新线程异步调用

    2秒后执行 某段代码: demo如下: System.out.println("正常执行...111"); Thread t = new Thread(){ public void ...

  6. 洛谷 P1005 矩阵取数游戏

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  7. WebRTC clientICE 延迟问题

    本文原创自 http://blog.csdn.net/voipmaker  转载注明出处. 近期在优化WebRTCclient呼叫延迟问题.原因是ICE协议栈在收集地址到探測协商过程花费非常长时间.这 ...

  8. LINUX 中的 TCP/IP协议 参数详解

    Ipsysctl tutorial 1.0.4 Prev Chapter 3. IPv4 variable reference Next https://www.frozentux.net/ipsys ...

  9. Qt 学习之路:自定义事件

    尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的.例如,我要支持一种新的设备,这个设备提供一种崭新的交互方式,那么,这种事件如何处理呢?所以,允许创建自己的事件 类型 ...

  10. WCF - 绑定后续之自定义绑定

    自定义信道基类 WCF是一个极具扩展性的通信框架 无论在服务模型层还是信道层 都具有很多扩展点 而信道层的扩展点主要体现在实现自定义信道以增强信道栈处理信息的能力 比如我们可以扩展信道层 实现一个自定 ...