在Nginx里给你的站点或者目录加个用户认证

news2024/9/22 17:35:29

在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。

常见的用户认证截图

ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。Nginx的http auth模块以及Apache http auth都是很好的解决方案。

默认情况下Nginx已经安装了ngx_http_auth_basic_module模块,如果不需要这个模块,可以加上 --without-http_auth_basic_module 。

Nginx Basic HTTP authentication

Nginx的用户配置实例

location / {
    auth_basic           "my site";
    auth_basic_user_file conf/htpasswd;
}

指令说明

auth_basic

  • 语法: auth_basic string | off;
  • 默认值: auth_basic off;
  • 上下文: http,server,location,limit_except

开启使用“HTTP基本认证”(HTTP Basic Authentication)协议的用户名密码验证。指定的参数被用作域。参数可以包含变量。参数off可以取消继承自上一个配置等级auth_basic指令的影响。参数off表示不开启HTTP基本认证。

另外auth_basic指定的字符串会在弹窗中显示。

auth_basic_user_file

  • 语法: auth_basic_user_file file;
  • 默认值: —
  • 上下文: http,server,location,limit_except

指定保存用户名密码的文件。
参数file中可以包含变量。

保存用户名和密码的文件格式如下:

# comment
name1:password1
name2:password2:comment
name3:password3

密码应该使用crypt()函数加密。可以用Apache HTTP Server发行包中的htpasswd命令或者openssl passwd来创建此类文件。

参数file可以是文件、相对路径的文件、绝对路径的文件。非绝对路径下,文件的位置是相对于nginx安装路径下的conf目录的。比如nginx的安装路径是/usr/local/nginx,则设置对应的路径举例说明如下:

auth_basic_user_file htpasswd;
# htpasswd在机器上的位置:/usr/local/nginx/conf/htpasswd
auth_basic_user_file conf/htpasswd;
# htpasswd在机器上的位置:/usr/local/nginx/conf/conf/htpasswd
auth_basic_user_file /tmp/htpasswd;
# htpasswd在机器上的位置:/tmp/htpasswd

创建用户名为admin,密码为12345的示例如下:

htpasswd

[root@test ~]# /opt/apache/bin/htpasswd -bdc htpasswd admin 12345
Adding password for user admin
[root@test ~]# cat htpasswd
admin:PbSRr7orsxaso

openssl passwd

[root@test ~]# openssl passwd 12345
fIHcRVEKijgoM
[root@test ~]# echo "admin:fIHcRVEKijgoM" > htpasswd
[root@test ~]# cat htpasswd
admin:fIHcRVEKijgoM

当然也可以使用Web在线htpasswd生成器来生产用户名和密码字符串复制粘贴到文件中保存引用。

变量说明

$remote_user

为HTTP基本认证提供的用户名。例如上述示例中提到的用户admin。

在Nginx里给你的站点或者目录加个用户认证

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

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

相关文章

免费分享:2018-2023中国地区地震数据集(附下载方法)

地震波是地震引起的振动以波的形式从震源向各个方向传播并释放的能量。震级是表示地震本身大小的尺度,地震烈度是指某一地区的地面和各类建筑物遭受到一次地震影响的强烈程度。 数据简介 2018-2023中国地区地震数据集主要变量包括time(时间&#xff09…

爬虫管理解决方案:让数据收集变得高效且合规

一、为何数据收集的效率与合规性同等重要? 随着大数据技术的飞速发展,数据收集已成为企业决策与市场洞察的核心驱动力。然而,在信息海洋中精准捕捞的同时,如何确保这一过程既高效又不触碰法律的红线,是每个数据实践者…

程序员标准简历模板

链接: https://pan.baidu.com/s/1yMXGSSNba15b9hMXjA39aA?pwdb4ev 提取码: b4ev 3年工作经验简历 链接: https://pan.baidu.com/s/1OO7n1lRL6AkhejxYC9IyDA?pwdfmvv 提取码: fmvv 优秀学员简历 链接: https://pan.baidu.com/s/106Vkw_ulOInI47_5mDySSg?pwduudc 提取码: uu

红酒的未来展望:探索行业的发展趋势

在时间的洪流中,红酒以其不同的魅力,一直占据着人们心中不可或缺的地位。随着时代的变迁,红酒行业也在不断地发展和演变。今天,就让我们一起走进红酒的未来,探索这个古老而又充满活力的行业将如何继续书写其辉煌的篇章…

使用node-cmd重启electron

说明:在electron中,想要手动重启客户端服务,分为两种情况 第一种:是使用electron自带的api进行窗口的重新启动,app.relaunch() 第二种:重启电脑运行的客户端服务 安装 npm install node-cmd -S使用 使用说…

【JavaScript 算法】动态规划:最优子结构与重叠子问题

🔥 个人主页:空白诗 文章目录 一、最优子结构1.1 最优子结构的例子1.2 如何识别最优子结构 二、重叠子问题2.1 重叠子问题的例子2.2 解决重叠子问题的方法2.3 如何识别重叠子问题 三、经典动态规划问题及其 JavaScript 实现3.1 斐波那契数列3.2 背包问题…

Java I/O模式 (一)

第一章 Java的I/O演进之路 1.1 I/O模型基本说明 1/0模型:就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收,很大程度上决定了程序通信的性能,Java 共支持3种网络编程的/10 模型:BIO、NIO、AIO 实际通信需求下&am…

调整网络安全策略以适应不断升级的威胁形势

关键网络安全统计数据和趋势 当今数字时代网络安全的重要性

【大语言模型应用形态 AI Agent 发展趋势深度分析 2024】

文末有福利! 一、智能体(AI Agent) 1. 智能体正成为大模型重要研发方向 随着技术飞速发展,智能体(AI Agent)正成为一股革命性力量,正在重新定义人与数字系统互动的方式。AI Agent是一种高效、…

使用DeepWalk 和Word2Vec实现单词Embedding

0、准备“边”数据集Wiki_edgelist import pandas as pddf pd.read_csv(./data/wiki/Wiki_edgelist.txt, sep , headerNone, names["source", "target"]) df.head() 1、读入 起点-终点 边数据,构建图 # 1、读入 起点-终点 边数据&#xff0c…

如何评估独立站的外链质量?

要评估独立站的外链质量时,首先要看的不是别的,而是内容,跟你网站相关的文章内容才是最重要的,其他的一切其实都不重要。什么网站的DA,评级,网站的主要内容跟你的文章内容是否相关其实都不重要,…

git提交大文件服务500

错误如图 需保证git服务端能接收大文件 修改项目下.git文件中的config文件,加入 [http] postBuffer 524288000

逆变-TI视频课笔记

目录 1、全桥逆变 1.1、全桥逆变SPWM仿真 2、半桥逆变 2.1、本课小结 3、多重逆变(间接的“交-直-交-直”变流) 3.1、多电平逆变的目的 3.2、单逆变桥 3 电平控制时序 3.3、大功率设备的功率因数 3.4、本课小结 视频链接:文字…

怎样在 C 语言中实现堆排序?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 【https://dwz.mosong.cc/cyyjc】通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代&…

小程序-设置环境变量

在实际开发中,不同的开发环境,调用的接口地址是不一样的 例如:开发环境需要调用开发版的接口地址,生产环境需要正式版的接口地址 这时候,我们就可以使用小程序提供了 wx.getAccountInfoSync() 接口,用来获取…

分享 | 一文简述模糊测试智能体技术实践

近日,华为2012实验室中央软件院旗下的欧拉多咖创新团队成功举办了【欧拉多咖 — 操作系统研讨会】。本次研讨会以“系统安全AI?”为主题,探讨了大模型技术如何推动基础软件迈向大规模算力时代,并详细讨论了在这一过程中系统软件所…

论文 | LEAST-TO-MOST PROMPTING ENABLES COMPLEXREASONING IN LARGE LANGUAGE MODELS

论文主题: 这篇论文提出了“从简单到复杂提示”(Least-to-Most Prompting)这一新的提示策略,旨在解决大语言模型在解决比提示示例更复杂的问题时表现不佳的难题。 核心思想: 将复杂问题分解成一系列更简单的子问题。按…

Verilog基础:操作数的位选(bit-select)和域选(part select)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 位选 位选(bit-select)用于选择一个向量(vector)的某位,可以是线网大类(net),也可以是变量大类(variable)中的reg、integer和time&#xf…

Redis 主从复制,哨兵与集群

目录 一.redis主从复制 1.redis 主从复制架构 2.主从复制特点 3.主从复制的基本原理 4.命令行配置 5.实现主从复制 6.删除主从复制 7.主从复制故障恢复 8.主从复制完整过程 9.主从同步优化配置 二.哨兵模式(Sentinel) 1.主要组件和概念 2.哨…

半小时获得一张ESG入门证书【详细中英文笔记一】

前些日子,有朋友转发了一则小红书的笔记给我, 标题是《半小时获CFI官方高颜值免费证书 ESG认证》。这对考证狂魔的我来说,必然不能错过啊,有免费的羊毛不薅白不薅。 ESG课程的 CFI 官方网址戳这里:CFI 于是信心满满的…