[linux]nginx配置alias注意事项


本文总阅读量

1、如果把alias配置在多层localtion下

1
2
3
4
5
6
7
8
9
10
location /inner {
location ~ /pub/notice {
alias /tmp/bankuser/pub/notice/;
#autoindex on;
#autoindex_exact_size off;
#autoindex_localtime on;
}
root /data/web;
index index.html;
}

1.1、在/tmp/bankuser/pub/notice/目录下不能存在index.html文件,如果存在index.html文件会报错

ERR_TOO_MANY_REDIRECTS

1.2、如果不存在index.html文件,则会提示403错误

1
2
403 Forbidden
openresty/1.13.6.1

日志会提示错误
directory index of "/tmp/bankuser/pub/notice/" is forbidden

1.3、为了不出现上面的错误,需要开启autoindex,配置如下

1
2
3
4
5
6
7
8
9
10
location /inner {
location ~ /pub/notice {
alias /tmp/bankuser/pub/notice/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
root /data/web;
index index.html;
}

1.4、但是当启用autoindex之后,访问该目录下的路径会出现下面异常

1
2
3
4
Index of /innermanage/pub/notice/test/test/test/test/
../
test/ 17-Sep-2019 02:11 -
1.html 16-Sep-2019 23:21 4

点击test目录无法进去。。。

2、配置alias在最外层的location

1
2
3
4
5
6
location  /pub/notice {
alias /tmp/bankuser/pub/notice/;
#autoindex on;
#autoindex_exact_size off;
#autoindex_localtime on;
}

2.1、如果存在index.html文件

http://localhost/pub/notice可以正常访问
http://localhost/pub/notice/1.html可以正常访问

2.2、如果不存在index.html文件

localhost/pub/notice访问提示403

1
2
403 Forbidden
openresty/1.13.6.1

http://localhost/pub/notice/1.html可以正常访问

2.3、修改配置启用autoindex

1
2
3
4
5
6
location  /pub/notice {
alias /tmp/bankuser/pub/notice/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}

2.4、如果存在index.html

localhost/pub/notice可以正常访问
http://localhost/pub/notice/1.html可以正常访问

2.5、如果不存在index.html

localhost/pub/notice访问页面如下

1
2
3
4
Index of /pub/notice/
../
test/ 17-Sep-2019 02:11 -
1.html 16-Sep-2019 23:21 4

http://localhost/pub/notice/1.html可以正常访问

3、总结

根据上面实验,如果配置alias参数,建议将放在location的一层结构下,一旦放到多层目录结构内,会出现各种异常。

目录
  1. 1. 1、如果把alias配置在多层localtion下
    1. 1.1. 1.1、在/tmp/bankuser/pub/notice/目录下不能存在index.html文件,如果存在index.html文件会报错
    2. 1.2. 1.2、如果不存在index.html文件,则会提示403错误
    3. 1.3. 1.3、为了不出现上面的错误,需要开启autoindex,配置如下
    4. 1.4. 1.4、但是当启用autoindex之后,访问该目录下的路径会出现下面异常
  2. 2. 2、配置alias在最外层的location
    1. 2.1. 2.1、如果存在index.html文件
    2. 2.2. 2.2、如果不存在index.html文件
    3. 2.3. 2.3、修改配置启用autoindex
    4. 2.4. 2.4、如果存在index.html
    5. 2.5. 2.5、如果不存在index.html
  3. 3. 3、总结

Proudly powered by Hexo and Theme by Lap
本站访客数人次
© 2020 zeven0707's blog