【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月前
|
安全 应用服务中间件 Linux
Debian操作系统如何安装Nginx并开启HTTP2
本指南介绍了在Linux系统中通过源码编译安装Nginx的完整流程。首先更新软件包列表并安装必要的编译依赖,接着下载指定版本的Nginx源码包(如1.24.0),检查文件完整性后解压。随后通过配置脚本指定安装路径与模块(如HTTP SSL模块),执行编译和安装命令。最后创建软链接以便全局调用,并提供启动、停止及重载Nginx的命令,同时提醒注意安全组设置以确保正常访问。
|
6月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
508 90
|
4月前
|
JavaScript 前端开发 开发者
Node学习笔记:HTTP模块
总的来说,Node.js的HTTP模块是一个强大的工具,可以帮助你处理HTTP协议的各种需求。无论你是想开设自己的餐厅(创建服务器),还是想去别的餐厅点菜(发出请求),HTTP模块都能满足你的需求。
131 18
|
10月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
746 7
|
7月前
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
8月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
1355 20
|
11月前
|
缓存 JavaScript 安全
nodejs里面的http模块介绍和使用
综上所述,Node.js的http模块是构建Web服务的基础,其灵活性和强大功能,结合Node.js异步非阻塞的特点,为现代Web应用开发提供了坚实的基础。
304 62
|
9月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
3018 8
|
9月前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
347 5
|
JSON API 数据格式
Python网络编程:HTTP请求(requests模块)
在现代编程中,HTTP请求几乎无处不在。无论是数据抓取、API调用还是与远程服务器进行交互,HTTP请求都是不可或缺的一部分。在Python中,requests模块被广泛认为是发送HTTP请求的最简便和强大的工具之一。本文将详细介绍requests模块的功能,并通过一个综合示例展示其应用。
267 11