一. 语法规则
location [=|~|~*|^~] /uri/ {… }
符号 | 含义 |
---|---|
= | 精确匹配 |
^~ | 表示uri以某个常规字符串开头, 匹配 URI 路径 |
~ | 区分大小写 |
~* | 不区分大小写 |
!~ | 区分大小写不匹配 |
!~* | 不区分大小写不匹配 |
/ | 用户所使用的代理(一般为浏览器) |
$http_x_forwarded_for | 通过代理服务器来记录客户端的ip地址 |
$http_referer | 记录用户是从哪个链接访问过来的 |
二. 常用规则
- 通过域名访问网站首页时,直接转发给后端应用服务器,或者返回一个静态首页
location = / {
proxy_pass http://tomcat:8080/index
}
- 处理静态文件,比如有下面两种方式
location ^~ /static/ {
# 请求/static/a.txt 将被映射到实际目录文件:/webroot/res/static/a.txt
root /webroot/res/;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root /webroot/res/;
}
- 通用规则
location / {
proxy_pass http://tomcat:8080/
}