Nginx如何处理请求(基于名称的虚拟服务器)
Nginx首先决定哪个服务器应该处理请求,在服务器的端口上进行监听:
server { --本机服务 listen 80; --监听服务器的端口 server_name example.org www.example.org;--Host本机域名值 }
如果server_name没有 host 主机头字段域名信息,那么可以定义一个删除请求的服务器。返回404。
混合基于名称和基于IP的虚拟服务器
server { listen 192.168.1.1:80; --域名加端口进行服务的监听 server_name example.org www.example.org; }
在此配置中,nginx首先根据服务器块的listen指令 测试请求的IP地址和端口 。然后,它会根据 匹配IP地址和端口 的服务器块的server_name条目 测试请求的“主机”头字段 。如果未找到服务器名称,则该请求将由默认服务器处理。