Nginx 如何处理请求
1个回答
展开全部
以如下配置为例
nginx先检查request的 首部字段 host ,是否匹配 server_name 。如果没有匹配,则以该端口的第一个server作为缺省server。当然也可以用 default_server 显式指定端口的默认server:
如果不允许request的 首部字段 host 为空,那么可以这样配置:
通过 return 一个非标准字段444,来关闭这个http连接。
看一个更复杂的例子
nginx先检查请求的IP地址和端口,与server的 listen 做匹配。然后从匹配的servers中再检查请求的 host 字段,与server的 server_name 做匹配。
举个例子,在端口192.168.1.1:80上,收到的针对 www.example.com 的请求将会交给第二个server处理。因为这个端口没有针对 www.example.com 的配置,所以默认选择该端口的第1个server。
可以针对不同端口,配置不同的 default_server
我们来看看,在上述配置下,请求的处理流程:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询