Nginx 1.20升级 Nginx 1.26版本之后资源目录无法访问
报错:
[error] 4193#0: *171129 open() "./html/SLmob/index.html" failed (2: No such file or directory), client:
配置文件:
location /hr-web/ {
alias /usr/share/nginx/html/hr-web/;
index index.html;
try_files $uri $uri/ /hr-web/index.html;
}
location /mob/ {
alias /usr/share/nginx/html/SLmob/;
index index.html;
try_files $uri $uri/ /SLmob/index.html;
}
资源目录如下
[root@hrweb1-old html]# pwd
/usr/share/nginx/html
[root@hrweb1-old html]# ls
hr-web img SLmob
从配置文件来看,没毛病,但是访问手机端就是不通,提示找不到文件。
经过我数个小时的排查发现,只需要将前端SLmob文件夹的名字改为mob,配置文件改为
location /mob/ {
alias /usr/share/nginx/html/mob/;
index index.html;
try_files $uri $uri/ /mob/index.html;
}
就OK了!
原因可能是1.26版本的nginx,配置文件中的location匹配链接或者alias必须跟文件夹名称一致。
如果你也被坑了,留个赞