【2022】Nginx目录索引模块ngx_http_autoindex_module

简介: 【2022】Nginx目录索引模块ngx_http_autoindex_module

使用ngx_http_autoindex_module模块生成目录列表。

通常,当ngx_http_index_module模块找不到索引文件时,会将请求传递给模块。

比如我以下的例子,并没有创建index.html文件,如果没有开启autoindex功能,会返回403错误。该模块可以用于建立本地YUM仓库。

  • 首先创建一个站点文件:mirrors.yyang.com.conf
server {
  listen 80;
  server_name mirrors.yyang.com;
  location / {
    root /repo;
    index index.html;
  }
}
  • 根据配置文件创建站点目录
mkdir -p /repo/{centos,ubuntu,redhat}
  • 重新加载配置文件
nginx -t
systemctl reload nginx

(记得要做本地dns解析噢)

  • 在浏览器访问测试

    (出现403是正常的,因为我们没有创建index.html文件)
  • 接下来在配置文件中加入atuoindex模块,形成列表
server {
  listen 80;
  server_name mirrors.yyang.com;
  location / {
    root /repo;
    index index.html;
    autoindex on;
  }
}
  • 在进行配置文件重新加载后在次用浏览器访问

    (形成一个列表式的页面)
  • 此时我们可以在目录下上传一些内容后再次查看
[root@centos7 centos]# ls
apache-tomcat-9.0.64-fulldocs.tar.gz

aca782c9a97845918db7d55accac532a.png

(此时我们上传的内容大小是用字节表示的)

  • 通过修改把上传文件大小用易于查看的方式表示:添加autoindex_exact_size;默认开启,开启为字节表示
server {
  listen 80;
  server_name mirrors.yyang.com;
  location / {
    root /repo;
    index index.html;
    autoindex on;
    autoindex_exact_size off;
  }
}
  • 此时再进行重新加载配置文件后在浏览器查看

    (此时的单位已变成M)
  • 但是 ,此时我发现创建文件时间与我本地时间不符合,所以把时间修改为我本地时间
    (我此时时间为22:32)相差8个小时


b9b8a57ffec945a9bb08693d768f96d5.png

server {
  listen 80;
  server_name mirrors.yyang.com;
  location / {
    root /repo;
    index index.html;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
  }
}
  • 重新加载后查看

    (此时时间已与我本地时间相同)
  • 我上传一个带有中文的文件却显示乱码

  • 添加字符集解决文字乱码问题
server {
  listen 80;
  server_name mirrors.yyang.com;
  charset utf8,gbk;
  location / {
    root /repo;
    index index.html;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
  }
}

(注意字符集作用于整个server区块)

  • 此时在查看已恢复中文
目录
相关文章
|
3月前
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
472 2
|
1月前
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
104 62
|
1月前
|
应用服务中间件 nginx C++
nginx的cgi模块
nginx的cgi模块
32 0
|
1月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
17 0
|
1月前
|
移动开发 网络协议 C语言
详解 httptools 模块,一个 HTTP 解析器
详解 httptools 模块,一个 HTTP 解析器
31 0
|
3月前
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
171 1
|
3月前
|
JavaScript 应用服务中间件 PHP
nginx server 禁止特定目录下的某类文件访问
【8月更文挑战第26天】这段Nginx配置代码旨在保护`/uploads/`目录下的文件,禁止执行任何`.php`, `.html`, `.htm`, 或 `.js`等潜在有害文件,即便被访问也无法运行。取而代之的是重定向到首页。为了实现这一设置,用户需要定位到对应子域名的`.conf`配置文件中进行相应修改。若网站支持多个访问域名,则需确保在正确的`.conf`文件中实施此配置。
96 1
|
3月前
|
JSON API 数据格式
Python网络编程:HTTP请求(requests模块)
在现代编程中,HTTP请求几乎无处不在。无论是数据抓取、API调用还是与远程服务器进行交互,HTTP请求都是不可或缺的一部分。在Python中,requests模块被广泛认为是发送HTTP请求的最简便和强大的工具之一。本文将详细介绍requests模块的功能,并通过一个综合示例展示其应用。
|
3月前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
|
3月前
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
55 3