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)

相关推荐
张道宁9 小时前
从零搭建化工园区 AI 安防监控系统:技术方案、落地实现与工程反思
运维·服务器
ZGUIZ9 小时前
Ubuntu 25.10 蓝牙Wifi不可用解决流程
linux·运维·ubuntu
rising start10 小时前
Linux入门及相关命令
linux·运维·服务器
minji...10 小时前
Linux 网络基础之传输层协议TCP(九)从内核源码的角度打通系统与网络之间的关系,套接字多态的体现
linux·运维·服务器·网络·网络协议·tcp/ip·http
Hui_AI72010 小时前
抖店铺货自动化:7个核心功能的技术实现方案
大数据·运维·人工智能·自动化·产品运营·ai写作·内容运营
yyuuuzz10 小时前
独立开发者线上服务运维的几点实践经验
运维·服务器·网络·云计算·aws
想唱rap10 小时前
IO多路转接Select
运维·服务器·网络·数据库·sql·tcp/ip·mysql
云智慧AIOps社区10 小时前
轻帆云ITSM|制造业智能化转型,从流程重构看 IT 服务管理发展新趋势
运维·自动化·aiops·智能运维·itsm平台·it服务管理系统
闵孚龙10 小时前
Claude Code 技能系统全解析:AI Agent 自定义能力、SKILL.md、MCP 扩展、上下文预算与企业级自动化落地
运维·人工智能·自动化
corpse201010 小时前
CentOS Linux release 8.5.2111下的CVE-2026-31431 Linux内核提权漏洞处置
linux·运维·centos