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)

相关推荐
szxinmai主板定制专家9 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮10 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
Decay__10 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝10 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
NailiConveyor12 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
Lsetea12 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若12312 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好12 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
李纲明13 小时前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy
Ruiery14 小时前
Linux 6.6内核并发与同步(五):mutex 可睡眠锁
linux·运维·服务器