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)

相关推荐
SkyWalking中文站9 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ12 小时前
Kubeneters HA Cluster部署
运维
喵个咪15 小时前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
江华森17 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森17 小时前
Matplotlib 数据绘图基础入门
运维
江华森17 小时前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF5 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Goodbye6 天前
大模型无状态架构:从 HTTP 协议到 Harness AI 工程的深度解析
http
荣--7 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森7 天前
动手实战学 Docker — 从零到集群编排完全指南
运维