Nginx HTTP基本认证配置技术文档

一、概述

本文介绍如何为Nginx服务器配置HTTP基本认证(Basic Authentication),以保护Web应用访问。配置包括密码文件生成、Nginx配置修改、认证缓存管理等内容。

二、密码创建

2.1 安装 Apache 工具(用于生成密码文件)
cmd 复制代码
# Ubuntu/Debian
sudo apt-get install apache2-utils

# CentOS/RHEL
sudo yum install httpd-tools
2.2 创建用户密码
java 复制代码
sudo htpasswd -c /etc/nginx/.htpasswd username
  • -c 表示创建新文件(如果文件已存在,会覆盖)。
  • /etc/nginx/.htpasswd 是密码文件的路径(可自定义)。
  • username 是你要设置的账号名。
2.3 追加用户密码
bash 复制代码
htpasswd -b nginx-config/.htpasswd username pwd

三、Nginx配置修改

3.1 基本认证配置

在Nginx配置文件的server或location块中添加以下指令:

cmd 复制代码
# 启用基本认证,设置认证提示信息
auth_basic "Authentication Required";
# 指定密码文件路径
auth_basic_user_file /path/to/.htpasswd;
3.2 Docker容器部署配置

在Docker Compose配置中添加密码文件挂载:

cmd 复制代码
services:
  nginx:
    image: nginx:latest
    container_name: nginx-server
    ports:
      - '8080:80'
    volumes:
      # 挂载密码文件
      - ./nginx-config/.htpasswd:/etc/nginx/.htpasswd:ro

四、认证缓存机制

浏览器缓存行为,当用户首次成功认证后,浏览器会缓存认证凭据,并在后续请求中自动添加Authorization头:

Authorization: Basic base64(username:password)

相关推荐
SPC的存折5 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
爱学习的小囧6 小时前
VMware ESXi 6.7U3v 新版特性、驱动集成教程和资源包、部署教程及高频问答详情
运维·服务器·虚拟化·esxi6.7·esxi蟹卡驱动
小疙瘩6 小时前
只是记录自己发布若依分离系统到linux过程中遇到的问题
linux·运维·服务器
dldw7777 小时前
IE无法正常登录windows2000server的FTP服务器
运维·服务器·网络
运维有小邓@7 小时前
什么是重放攻击?如何避免成为受害者?
运维·网络·安全
汤愈韬8 小时前
下一代防火墙通用原理
运维·服务器·网络·security
IMPYLH8 小时前
Linux 的 od 命令
linux·运维·服务器·bash
Kk.08029 小时前
Linux(十一)fork实例练习、文件操作示例及相关面试题目分享
linux·运维·算法
数据雕塑家10 小时前
Linux下大文件切割与合并实战:解决FAT32文件系统传输限制
linux·运维·服务器
IMPYLH10 小时前
Linux 的 nice 命令
linux·运维·服务器·bash