nginx访问认证+目目录浏览

本文介绍如何在CentOS 6.9环境下使用Nginx配置HTTP基本认证,包括安装Nginx、创建密钥文件、配置认证提示及密码文件,通过实例展示如何限制对特定资源的访问。

概述

在实际工作中,企业中有些网站,要求使用账号和密码才能访问,如网站后台、phpMyAdmin 、Wiki 平台 等
模块ngx_http_auth_basic_module 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问
模块ngx_http_auth_basic_module 下有两条指令 auth_basic 和 auth_basic_user_file

 

环境

Centos 6.9 

 

安装epel

wget https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
rpm -ivh epel-release-latest-6.noarch.rpm

 

 

安装nginx

yum intall -y nginx

 

创建密钥文件

yum install -y httpd-tools
htpasswd -bc /etc/nginx/conf.d/htpasswd.users username password

 

注意:username和password,分别对应用名和密码

配置nginx

创建新的配置

vi /etc/nginx/conf.d/browse.conf

 

内容如下:

server {
        listen       81;
        server_name  localhost;
        location / {
                root   /data/log/tomcat;
                index  index.html index.htm;
                # 设置用于认证的提示字符串
                auth_basic "Restricted Access";
                # 设置认证的密码文件
                auth_basic_user_file  /etc/nginx/conf.d/htpasswd.users;
                #自动显示目录
                autoindex  on;
                #改为off后,显示出文件的大概大小,单位是kB或者MB或者GB;即人性化方式显示文件大小否则以byte显示
                autoindex_exact_size  off; 
                autoindex_localtime on;
        }
}

 

重载配置

nginx -s reload

 

访问页面

http://192.168.31.216:81

输入用户名和密码

效果如下:

文本参考链接:
https://www.cnblogs.com/wushuaishuai/p/9361811.html
https://blog.youkuaiyun.com/haigenwong/article/details/84477218
https://www.cnblogs.com/silent2012/p/8377837.html

### 解决Nginx返回401 Unauthorized错误的方法 当遇到Nginx返回`401 Unauthorized`错误时,通常意味着客户端未能提供有效的身份验证凭证来访问受保护资源。此情况可能由多种原因引起,下面介绍几种常见的排查方向以及解决方案。 #### 1. 检查基本认证配置 如果启用了HTTP Basic Authentication,则需确认`.htpasswd`文件路径及其内部条无误,并确保该文件具有适当权限以便被Nginx读取[^2]。此外,还需核实`auth_basic_user_file`指令指向的位置是否正确设置。 ```nginx location / { auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd; } ``` #### 2. 确认环境变量影响 有时开发环境中使用的特定配置可能会干扰生产部署的表现形式。例如,在某些情况下修改或清空了敏感的环境变量可能导致意外行为发生。对于提到的情况,应仔细审查最近更改过的配置项特别是涉及路径定义的部分,确保其合理有效[^3]。 #### 3. 客户端请求头分析 除了服务器端配置外,也可能是由于浏览器或其他HTTP客户端发送的身份验证信息不匹配所造成的。可以通过抓包工具(如Wireshark)或者开发者控制台查看实际发出的Authorization头部字段内容,从而进一步定位问题所在。 #### 4. 自动索引功能启用状态 虽然自动目录浏览(`autoindex`)与401错误看似关联不大,但在特殊场景下确实有可能间接引发此类现象。比如当尝试直接通过URL访问某个目录而非具体文件时,若禁用了此项特性则会触发默认的安全策略阻止继续前进并给出相应提示。因此建议开启这一选项作为临时措施观察效果变化[^4]: ```nginx location /downloads/ { autoindex on; ... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值