> 백엔드 개발 > PHP 튜토리얼 > nginx配置文件和hosts文件的先后关系

nginx配置文件和hosts文件的先后关系

WBOY
풀어 주다: 2016-06-23 13:35:22
원래의
2326명이 탐색했습니다.

我想问一下windows中hosts中的映射项和nginx中配置的server的host的关系是什么?当使用浏览器进行访问时,域名是否先在hosts文件中进行查找,然后通过ip地址去访问资源,那nginx是不是不会对该请求进行匹配(因为是ip地址)?


回复讨论(解决方案)

nginx中的server_name 也会走一遍 hosts,看是否对应,hosts就相当于一个小型的域名服务器。应该是这样

你在浏览器中 输入一个网址  会先check一下你本地的hosts 文件  如果有做映射的话 就直接通过映射的ip访问你的 web服务器(这边是nginx) 当这个请求被nginx 获得后  他会check一下请求的域名和servername是否匹配,匹配到的话 就根据相应的配置返回内容, 没有匹配到的话 就根据默认的配置返回内容。  

我想问一下windows中hosts中的映射项和nginx中配置的server的host的关系是什么?当使用浏览器进行访问时,域名是否先在hosts文件中进行查找,然后通过ip地址去访问资源,那nginx是不是不会对该请求进行匹配(因为是ip地址)?




是通过ip访问资源的,但是nginx会找到请求头里面的hostname,来匹配需要那个配置文件来处理该响应
GET /rabbit/tracking-ad/main.js.map HTTP/1.1Host: csdnimg.cn //注意这个,nginx会根据这个匹配servernameConnection: keep-aliveCache-Control: max-age=0User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36Accept: */*Referer: http://bbs.csdn.net/forums/PHPAccept-Encoding: gzip, deflate, sdchAccept-Language: zh-CN,zh;q=0.8
로그인 후 복사

如果请求头里面没有  host     ,nginx也会根据顺序查找到处理该请求的配置,一般默认的80端口都是开启的,会匹配到默认的配置里面

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿