自学内容网 自学内容网

Nginx配置文件中静态资源文件禁止通过目录查看

Nginx配置文件中静态资源文件禁止通过目录查看

nginx作为文件服务器访问静态资源时,默认是可以通过目录路径查看该目录下的所有文件的,这样会被检查出漏洞,容易造成静态资源泄露。

方案

location /images {
    autoindex off;
    autoindex_exact_size off;
    autoindex_localtime on;
    alias /home/admin/fileupload;
 }

1,autoindex off;
这个指令用于关闭目录列表功能。默认情况下,如果请求的是一个目录,并且没有找到默认的索引文件(如 index.html),Nginx 可能会列出该目录下的所有文件。将 autoindex 设置为 off 会禁止这种行为,防止未经授权的目录内容被浏览。

2,autoindex_exact_size off;
这个指令用于控制是否在目录列表中显示文件的确切大小。当设置为 off 时,Nginx 可能会以更易读的格式(如 KB、MB)显示文件大小,而不是显示确切的字节数。这可以提高目录列表的可读性。

3,autoindex_localtime on;
这个指令用于控制是否在目录列表中显示文件的本地时间戳。当设置为 on 时,Nginx 将使用服务器上的本地时间显示文件的时间戳,而不是使用 GMT 时间。这有助于用户更好地理解文件的最后修改时间。

4,alias /home/admin/fileupload;
这个指令用于指定当请求匹配 location /images 时,应该提供哪个文件系统上的目录作为响应。在这里,它指定了 /home/admin/fileupload 目录作为响应的来源。这意味着,当有人请求 /images/somefile.jpg 时,Nginx 实际上会从 /home/admin/fileupload/somefile.jpg 中提供该文件。

请注意,使用 alias 指令时,需要确保指定的路径是准确的,并且Nginx进程有权访问该路径。此外,alias 指令与 root 指令不同,root 指令会将请求的URI追加到指定的路径上,而 alias 则不会。

综上所述,这个配置片段的目的是为 /images 路径提供一个静态资源目录,并关闭目录列表功能,同时控制目录列表中文件大小和时间的显示方式


原文地址:https://blog.csdn.net/weixin_42949219/article/details/139357144

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!