【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区块)

  • 此时在查看已恢复中文
目录
相关文章
|
1月前
|
应用服务中间件 nginx
Nginx安装nginx-rtmp-module模块
【2月更文挑战第4天】 nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展。 nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最终生成一个名为nginx的可执行文件。
77 6
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
165 0
|
3月前
|
应用服务中间件 nginx
百度搜索:蓝易云【利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大】
以上就是使用Nginx内置 `ngx_http_mirror_module`模块实现流量复制和流量放大的简要示例。通过合理配置和利用该模块,可以实现更复杂的流量控制和调试需求。
58 1
|
3月前
|
应用服务中间件 nginx
百度搜索:蓝易云【HTTP请求是如何关联Nginx server{}块的?】
总结来说,Nginx中的 `server{}`块用于关联HTTP请求和虚拟主机,通过配置不同的 `server{}`块,可以实现多个域名或IP地址的请求分发和处理。这样,Nginx可以根据不同的请求来提供不同的服务和内容。
37 0
|
4月前
|
应用服务中间件 Linux nginx
nginx+nginx-http-flv-module
nginx+nginx-http-flv-module
183 1
|
2月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
71 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
30天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0
|
5月前
|
负载均衡 Unix 应用服务中间件
深入解析HTTP反向代理:探索NGINX的神奇之处
深入解析HTTP反向代理:探索NGINX的神奇之处
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
64 0
|
3月前
|
存储 应用服务中间件 nginx
Nginx模块开发:handler模块实现
Nginx模块开发:handler模块实现
30 0