(编辑:jimmy 日期: 2025/10/24 浏览:2)
1、介绍
location指令是http模块当中最核心的一项配置,根据预先定义的URL匹配规则来接收用户发送的请求,根据匹配结果,将请求转发到后台服务器、非法的请求直接拒绝并返回403、404、500错误处理等。
2、location指令语法
location [=|~|~*|^~|@] /uri/ { … } 或 location @name { … }
3、URI匹配模式
location指令分为两种匹配模式:
1> 普通字符串匹配:以=开头或开头无引导字符(~)的规则
2> 正则匹配:以~或~*开头表示正则匹配,~*表示正则不区分大小写
4、location URI匹配规则
当nginx收到一个请求后,会截取请求的URI部份,去搜索所有location指令中定义的URI匹配模式。在server模块中可以定义多个location指令来匹配不同的url请求,多个不同location配置的URI匹配模式,总体的匹配原则是:先匹配普通字符串模式,再匹配正则模式。只识别URI部份,例如请求为:/test/abc/user.do"htmlcode">
...
http {
...
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
# deny all; 拒绝请求,返回403
# allow all; 允许请求
}
location /abc {
deny all;
}
location ~ /.+\.jsp$ {
proxy_pass http://location:9090;
}
# 匹配所有/test路径下的jsp文件
location ~ /test/.+\.jsp$ {
proxy_pass http://localhost:8080;
}
# 定义各类错误页
error_page 404 /404.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# @类似于变量定义
# error_page 403 http://blog.csdn.net; #这种定义不允许,需求利用@定义临时变量来实现
error_page 403 @page403;
location @page403 {
proxy_pass http://blog.csdn.net;
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。