详细介绍:Nginx 访问控制、用户认证与 HTTPS 配置指南

news/2025/10/1 11:39:07/文章来源:https://www.cnblogs.com/tlnshuju/p/19122296

详细介绍:Nginx 访问控制、用户认证与 HTTPS 配置指南

2025-10-01 11:36  tlnshuju  阅读(0)  评论(0)    收藏  举报

Nginx 访问控制、用户认证与 HTTPS 配置指南

一、Nginx 访问控制

1.1 基本语法

用于 location 段中控制客户端访问权限:

  • allow:允许指定的 IP 或网段访问,多个参数用空格隔开。
  • deny:禁止指定的 IP 或网段访问,多个参数用空格隔开。

示例:

allow 192.168.100.20 192.168.100.30;
deny all;

1.2 拒绝指定主机访问nginx状态页面

location /status {echo "chenyu";deny 192.168.100.111;
}

在这里插入图片描述

1.3 启用 stub_status 模块查看nginx状态信息

location /status {echo "chenyu";stub_status on;
}

在这里插入图片描述

状态信息说明

  • Active connections:当前nginx正在处理的活动连接数
  • Server accepts handled requests:nginx总共处理了63个连接,成功创建63次握手,总共处理了62个请求
  • Reading:nginx读取到客户端的Header信息数
  • Writing:nginx返回给客户端的Header信息数
  • Waiting:开启keep-alive的情况下,这个值等于active-(reading+writing),意思就是nginx已经处理完成,正在等候下一次请求指令的驻留连接。所以,在访问效率高、请求很快就被处理完毕的情况下,waiting数比较多是正常的。如果reading+writing数较多,则说明并发访问量非常大,正在处理过程中

1.4 allowdeny 同时存在时的优先级

location /status {stub_status on;allow 192.168.100.111;deny all;
}

在这里插入图片描述

1.5 常见访问控制策略

只允许指定 IP 访问,禁止其他所有 IP:
allow 192.168.100.11;
allow 192.168.100.12;
deny all;
只禁止指定 IP 访问,允许其他所有 IP:
deny 192.168.100.11;
deny 192.168.100.12;
allow all;

二、用户认证

2.1 基本配置语法

auth_basic "欢迎信息";
auth_basic_user_file "/path/to/user_auth_file";

2.2 user_auth_file用户认证文件格式

每行为一个用户,格式为:

username:加密密码

2.3 使用 htpasswd 创建认证文件

htpasswd -c -m /path/to/.user_auth_file USERNAME

授权用户

安装 httpd-tools

yum -y install httpd-tools

创建用户密钥文件:

cd /usr/local/nginx/conf/
htpasswd -c -m .user_auth_file chenyu
cat .user_auth_file
chenyu:$apr1$whXqcpS.$EORacQbsq0P6JblZ0ayM5/

2.4 配置 Nginx 启用认证(注意auth_basic_user_file必须用绝对路径)

location /status {stub_status on;auth_basic "welcome to hyedu";auth_basic_user_file "/usr/local/nginx/conf/.user_auth_file";
}

2.5 测试并重载配置

nginx -t
nginx -s reload

在这里插入图片描述
在这里插入图片描述


三、HTTPS 配置

3.1 环境说明

3.2 在 CA 服务器上生成一对密钥,根证书

mkdir -p /etc/pki/CA/private
cd /etc/pki/CA/
(umask 077; openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus (2 primes)
.+++++
....................+++++
e is 65537 (0x010001)
openssl rsa -in private/cakey.pem -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvaWtkdtUn3T+pXIvD1Rf
LUGP8NdmlVqwamSU7fxqRA5BiWi7gKsNpnSBHlXGJ3PeFBRbNfff/IOpZLnMWDB4
OKDp63pB4OcB3GKWNoJsDYEg5m4HYdhHjJRywTkfmuUNoIok8fBg6gsYYHov9EVK
tmV9FTZBRIPSq7hiVm8dYPDFsuAhvi5CUxGO/VEXRsiJvePSQ1IAaMYUv/mDDMKC
GXX/qvyWPRMA6KdFmr6hO32jbY3fzllzfQpN3tjNrXbQPRa1o6GFQ9nQC8kHzo5L
qtRdeJ0ZMqQyU76f6kJQwcBPS2t/ByTGxq8DRAiVATNK2xO3LuNvfCv+CYRYuVwV
bwIDAQAB
-----END PUBLIC KEY-----
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 1024
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HB
Locality Name (eg, city) [Default City]:WH
Organization Name (eg, company) [Default Company Ltd]:luoqi
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:chenyu
Email Address []:cy@example.com

3.3 在 Nginx 服务器上生成证书请求,发送给CA

cd /usr/local/nginx/conf/
(umask 077; openssl genrsa -out httpd.key 2048)
Generating RSA private key, 2048 bit long modulus (2 primes)
................................................................................+++++
............................................................................................................+++++
e is 65537 (0x010001)
openssl req -new -key httpd.key -days 1024 -out httpd.csr
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HB
Locality Name (eg, city) [Default City]:WH
Organization Name (eg, company) [Default Company Ltd]:luoqi
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:chenyu
Email Address []:cy@example.com
scp httpd.csr root@192.168.100.30:/root/

3.4 CA签署证书并发送给NGINX,在 CA 服务器上签署证书

mkdir /etc/pki/CA/newcerts
touch /etc/pki/CA/index.txt
echo "01" > /etc/pki/CA/serial
openssl ca -in httpd.csr -out httpd.crt -days 1024
# 将CA签署的证书httpd.crt和服务器的证书cacert.pem发送给nginx
scp httpd.crt root@192.168.100.10:/usr/local/nginx/conf/
scp /etc/pki/CA/cacert.pem root@192.168.100.10:/usr/local/nginx/conf/

3.5 配置 Nginx 启用 HTTPS /usr/local/nginx/conf/nginx.conf

server {listen 443 ssl;server_name localhost;ssl_certificate httpd.crt;ssl_certificate_key httpd.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}
}

3.6 nginx -t 测试配置文件

nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
cd /usr/local/nginx/html/
echo "chenyu" > /usr/local/nginx/html/index.html
nginx -s reload

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自有服务器可以做网站吗wordpress游客留言

PAGEPAGE 10北大计算机考研 高等数学真题解答2008 年(5 题 60 分)1 (12 分) f (x) 有连续的二阶导数, f (a)  0 ,求limxa1f (x  a)  f (a)1f (a) 。2 (12 分) f (x) 在a,b上连续且 f (a)  f (b)  0 , f (a) f (b) …

最容易做的门户网站动漫设计学校

特点 两线制总线:I2C仅使用两条线——串行数据线(SDA)和串行时钟线(SCL)进行通信,有效降低了连接复杂性。多主多从设备支持:I2C支持多个主设备和多个从设备连接到同一总线上。每个设备都有唯一…

comfyui配置

comfyui配置1.通过网盘分享的文件:ComfyUI-aki-v1.2.7z 链接: https://pan.baidu.com/s/168jlRhuu7b0kNgGcjYdInw?pwd=dtm1 提取码: dtm1

哪个网站做相册好海南网

1、为什么 shiro 有了《角色》后,还要设置《角色权限》呢?(问题) 思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是《角色》层次…

[深度学习] 大模型学习5-高效微调框架Unsloth使用指北

Unsloth是一个专注于加速大语言模型微调过程的开源项目。它通过一系列底层优化,显著提升了微调速度并大幅降低了内存消耗,同时能保持模型性能。无论是研究者还是开发者,都能借助Unsloth更高效地定制自己的大语言模型…

前端-JavaScript简介JavaScript模块化 - 努力-

前端-JavaScript简介JavaScript模块化前端-JavaScript简介JavaScript模块化一、JavaScript介绍我们已经学习了HTML、CSS的基础内容,我们知道HTML负责网页的结构,而CSS负责的是网页的表现。 而要想让网页具备一定的交…

基本地址变换机构

设页面大小为L,逻辑地址A到物理地址E的变换过程如下 1.计算页号P和页内偏移量W 2.比较页号P和页表大小M如果P>=M则会发生越界中断,否则继续执行。(页号从0开始,页表长度至少为1,因此P=M也会越界) 3.页表中页号…

电子商务网站建设 以为例建设银行官方网站首页个人登录

有许多开源和免费的敏捷管理工具可供敏捷团队使用,以支持他们的敏捷项目管理和开发需求。以下是一些常见的开源/免费敏捷管理工具: 免费敏捷工具 以下是一些免费的敏捷工具,这些工具提供了一定的功能,可用于支持敏捷项目管理和开…

【APK安全】组件安全核心风险与防御指南 - 详解

【APK安全】组件安全核心风险与防御指南 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

自己电脑做局域网网站服务器专门做app的公司有哪些

计算机常识 计算机如何存储数据 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。 进制 进制也就是进位计数制,是人为定义的带进位的计数方法 实例: // 在java 中 可以使用不同…

中山网站建点东营招标建设信息网

OSPF NSSA实验简述 1、OSPF NSSA区域配置 为解决末端区域维护过大LSDB带来的问题,通过配置stub 区域或totally stub区域可以解决,但是他们都不能引入外部路由场景。 No so stuby area (区域)NSSA 可以引入外部路由,支持…

书籍网站建设的目的360网站制作潍坊

文章目录1. 题目2. 解题1. 题目 给你一个由正整数组成的数组 nums 。 数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数。 例如,序列 [4,6,16] 的最大公约数是 2 。 数组的一个 子序列 本质是一个序列,可以通过删除数组中的某些元素…

长沙做企业网站的公司wordpress加载谷歌

一、梯度消失与爆炸 在神经网络中,梯度消失和梯度爆炸是训练过程中常见的问题。 梯度消失指的是在反向传播过程中,梯度逐渐变小,导致较远处的层对参数的更新影响较小甚至无法更新。这通常发生在深层网络中,特别是使用某些激活函…

gitee 使用安装教程

一、下载方式 1.官网下载https://git-scm.com/downloads 2.淘宝镜像下载https://registry.npmmirror.com/binary.html?path=git-for-windows/2.1安装 1.点击刚刚下载的安装包,然后点击next 2.根据自己的情况选择,一…

2025工业网线厂家权威推荐榜:千兆/拖链/高柔/网线/六类/超五类/6类/超5类/千兆/超六类/8芯/4芯/成品/相机/视觉数据工业网线高强屏蔽与稳定传输实力之选

在工业4.0和智能制造快速发展的今天,工业网络作为数字基础设施的核心组成部分,其稳定性与可靠性直接关系到生产系统的运行效率。工业网线作为网络传输的物理载体,不仅需要具备优异的信号传输性能,更要能在恶劣的工…

VisualMimic——基于视觉的人形行走-操作控制:低层策略负责平衡控制且跟踪高层下发的指令、高层策略则基于自我中心视觉输入生成任务跟踪指令 - 实践

VisualMimic——基于视觉的人形行走-操作控制:低层策略负责平衡控制且跟踪高层下发的指令、高层策略则基于自我中心视觉输入生成任务跟踪指令 - 实践pre { white-space: pre !important; word-wrap: normal !importan…

g4560做网站服务器网络舆情的应对及处理

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["…

套用模板网站哪里有做网站培训的

题目 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象 void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新…

FPGA强化-简易频率计 - 实践

FPGA强化-简易频率计 - 实践2025-10-01 11:01 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important;…

基本分页存储管理的基本概念

将内存分为一个个大小相等的分区,每个分区就是一个页框(页框=页帧=内存块=物理快=物理页面)每一个页框都有一个编号--页框号,页框号从0开始。 将进程的逻辑地址空间也分为与页框大小相等的一个个部分,每个部分称为…