location ~* \.(html|htm|gif|jpg|jpeg|bmp|png|ico|pdf|js|css)$ {
root root;
index index.html index.htm;
}
location / {
proxy_pass http://target;
}
nginx配置如上,浏览器输入localhost:3000为什么打开的不是root目录下的index.html,而是代理的地址,输入localhost:3000/index.html返回的也是404
需要怎样配置
location 优先级官方文档
1 =前缀的指令严格匹配这个查询。如果找到,停止搜索。
2 所有剩下的常规字符串,最长的匹配。如果这个匹配使用^~前缀,搜索停止。
3 正则表达式,在配置文件中定义的顺序。
4 如果第3条规则产生匹配的话,结果被使用。否则,使用第2条规则的结果。
Nginx 会从上至下进行匹配,若匹配到一个 location,则执行该 location 逻辑,忽略后面所有的正则 location,终止匹配;若一个正则都没匹配上,则执行之前保留的那个无符号 location,若之前没有保留,则直接返回 404
示例