Nginx请求处理流程

2018-10-15  本文已影响0人  touch_The_Sky

官方文档地址:http://nginx.org/en/docs/http/request_processing.html
假设我们Nginx的配置如下

http {
    server {
        listen 80 ;
        server_name www.wolfcode.cn  default_server;
        location  ~* \.jsp {
              proxy_pass  192.168.110.110:8080;
        }
        #匹配所有.jsp结尾的请求
       location  ~* \.jsp {
              proxy_pass  192.168.110.110:8080;
        }
      #匹配所有以下结尾的请求
      location ~ \.(gif|jpg|png|js|css)$ {
          root  static;
      }
    }
}

步骤:

  1. 根据IP访问Nginx所在服务器
  2. 匹配server配置中listen监听端口
  3. 匹配server_name,如果都匹配不上则使用默认server
    • 默认server可以通过default_server 指定(这个参数是在 0.8.21 版本以后才有的,而之前是 default 指令)
    • 如果没有指定为 default_server 的话,选用第一个作为默认,
    • 相同listen端口的一组server都可以有一个default_server
    • 可以通过配置定义匹配不到host值时怎么处理,示例:
server {
  listen       80  default_server;
  server_name  _;
  #444是Nginx自己的错误码,表示让Nginx断开与客户端连接
  return       444; 
}

  1. 匹配location
    匹配方式

location 命中过程:

上一篇 下一篇

猜你喜欢

热点阅读