【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月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
245 7
|
7天前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
1月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
256 20
|
2月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
866 8
|
6月前
|
负载均衡 应用服务中间件 API
Nginx:location配置模块的用法(一)
Nginx:location配置模块的用法(一)
715 2
|
2月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
116 5
|
4月前
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
152 62
|
4月前
|
应用服务中间件 nginx C++
nginx的cgi模块
nginx的cgi模块
81 0
|
4月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
42 0
|
4月前
|
移动开发 网络协议 C语言
详解 httptools 模块,一个 HTTP 解析器
详解 httptools 模块,一个 HTTP 解析器
79 0