共计 466 个字符,预计需要花费 2 分钟才能阅读完成。
nginx中的location用来做url匹配并处理,以往都是location /xxx/xxx,然而最近博主看到一个居然有这种写法的配置:
error_page 404 = @fallback;
location @fallback {
proxy_pass http://www.linuxhub.org;
}
没想到居然还有@….,查询了下该用法:
@:用于定义一个location块,则该块不能被外部client访问,只能被nginx内部配置指令所访问
改造一下上面404实例
error_page 404 = @fallback;
location @fallback {
default_type application/json;
charset utf-8;
return 200 '{"site":"xadocker.cn","status":"404"}';
}
测试访问下
[root@nginx-cluster conf.d]# curl openresty.xadocker.cn/abcdefg
{"site":"xadocker.cn","status":"404"}
正文完