实现给Nginx的指定网站开启basic认证——http基本认证

news2024/11/15 23:54:05

一、问题描述

        目前我们配置的网站内容都是没有限制,可以让任何人打开浏览器都能够访问,这样就会存在一个问题(可能会存在一些恶意访问的用户进行恶意操作,直接访问到我们的敏感后台路径进行操作,风险就会很大);并且我们也只是希望这个网站只有我们自己能够访问,其他人访问不了。

二、问题分析

1、我们的网站目前能够让任何人都打开浏览器访问;

2、只是希望这个网站只有我们自己能够访问,其他人访问不了;

根据分析出的的问题其实是需要给在nginx上部署的指定网站开启basic认证即可实现。

三、实现方法

3.1、生成htpasswd的账号密码文件

3.1.1、通过在线的htpasswd网站生成

可以直接在浏览器中输入【htpasswd在线】即可查询到,也可以使用我这里提供的这2个

在线 htpasswd 生成器OSCHINA.NET在线工具,ostools为开发设计人员提供在线工具,提供jsbin在线 CSS、JS 调试,在线 Java API文档,在线 PHP API文档,在线 Node.js API文档,Less CSS编译器,MarkDown编译器等其他在线工具icon-default.png?t=N7T8https://tool.oschina.net/htpasswd在线htpasswd生成器在线htpasswd生成工具,在线nginx htpasswd生成icon-default.png?t=N7T8https://www.lddgo.net/encrypt/htpasswd

 使用在线生成器获取到生成结果后复制该结果,然后在到指定路径下创建一个文件然后将结果粘贴上去就行。

# 1、进入需要放置basic用户和密码文件的路径(没有指定路径的话需要使用mkdir nginx命令创建)
mkdir -p /opt/nginx/basicauth/
cd /opt/nginx/basicauth/


# 2、直接在/opt/nginx/basicauth/路径下创建一个名为用户名b.coffeemilk.com.htpasswd的basic文件,然后将我们在在线网站设置用户为coffeemilk,密码为123456的结果粘贴到b.coffeemilk.com.htpasswd文件即可
touch b.coffeemilk.com.htpasswd
vi b.coffeemilk.com.htpasswd

3.1.2、安装htpasswd工具在本机生成

# 安装htpasswd工具命令
yum install httpd-tools -y

# 查看htpasswd的用法命令
htpasswd --help

htpasswd命令的参数详解
序号参数参数说明
1-c创建一个新文件
2-n不更新文件;只是在屏幕上显示文件内容
3-b直接在命令行中输入密码,而不是提示后再输入密码
4-i不用验证即可直接从输入流中读取到密码内容(只要是方便脚本使用)
5-m强制对密码进行MD5加密(默认)
6-2强制对密码进行SHA-256哈希加密(安全)
7-5强制对密码进行SHA-512哈希加密(安全)
8-B强制对密码进行bcrypt加密(非常安全)
9-C设置用于bcrypt算法的计算时间
(越高越安全,但速度越慢,默认值:5,有效值:4到31)
10-r设置用于SHA-256、SHA-512算法的轮数
(越高越安全,但速度越慢,默认值:5000)
11-d强制对密码进行CRYPT加密(最多8个字符,不安全)
12-s强制对密码进行SHA-1加密(不安全)
13-p不对密码进行加密(明文,不安全)
14-D删除指定的用户
15-v验证指定用户的密码
在Windows和NetWare以外的其他系统上,“-p”标志可能不起作用;SHA-1算法不使用盐,其安全性不如MD5算法
# 1、进入需要放置basic用户和密码文件的路径(没有指定路径的话需要使用mkdir nginx命令创建)
mkdir -p /opt/nginx/basicauth/
cd /opt/nginx/basicauth/


# 2、直接在/opt/nginx/basicauth/路径下创建用户名为coffeemilk的basic用户名和密码文件命令
htpasswd -c ./a.coffeemilk.com.htpasswd coffeemilk

# 在当前目录下生成一个b.coffeemilk.com.htpasswd文件,用户名coffeemilk,密码123456789,默认采用MD5加密方式
htpasswd -bc ./b.coffeemilk.com.htpasswd coffeemilk 123456789

# 在当前目录下生成一个b.coffeemilk.com.htpasswd文件,用户名coffeemilk,密码123456789,指定采用bcrypt加密方式
htpasswd -Bbc ./b.coffeemilk.com.htpasswd coffeemilk 123456789


# 在原有密码文件中增加下一个用户
htpasswd -b ./b.coffeemilk.com.htpasswd test 123456

# 删除指定路径下basic文件内的指定用户(比如删除/opt/nginx/basicauth路径下的这个b.coffeemilk.com.htpasswd的basic文件里面的test用户)
htpasswd -D /opt/nginx/basicauth/b.coffeemilk.com.htpasswd test


3.2、给需要配置的网站设置basic认证

实现将Nginx的每个网站配置单独的nginx配置文件——每个网站单独管理icon-default.png?t=N7T8https://blog.csdn.net/xiaochenXIHUA/article/details/140416476?spm=1001.2014.3001.5501进入我们每个网站单独的nginx配置文件修改需要设置basic内容的网站文件即可修改内容如下:

# 进入每个网站对应的单独nginx配置文件路径命令
cd /etc/nginx/conf.d

# 编辑指定的网站需要配置basic的nginx配置文件(比如给b.coffeemilk.com网站单独的nginx配置文件b.coffeemilk.com.conf进行编辑)命令
vi b.coffeemilk.com.conf
#auth_basic表示开启这个功能,"b.coffeemilk.com"是备注信息,随便写,一些老浏览器能看到,新浏览器都看不到备注信息了。
auth_basic "b.coffeemilk.com";

# 这是basic账号密码文件存放的位置
auth_basic_user_file /opt/nginx/basicauth/b.coffeemilk.com.htpasswd;

3.3、检查配置的Nginx内容是否正确和重启Nginx服务

nginx -t
systemctl restart nginx

3.4、验证basic的效果

         在浏览器输入自己已经设置了basic认证的网站(比如我这里的是http://b.coffeemilk.com/),打开该网站后无法直接看到网站内容会直接有一个输入账号密码的弹窗,输入正确后才能够看到网站内容表示成功了,如下图所示:

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

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

相关文章

如何在excel表中实现单元格满足条件时整行变色?

可以试试使用条件格式: 一、条件格式 所谓“自动变色”就要使用条件格式。 先简单模拟数据如下, 按 B列数字为偶数 为条件,整行标记为蓝色背景色。 可以这样设置: 先选中1:10行数据,在这里要确定一下名称栏里显示…

数据的力量:Facebook如何通过数据分析驱动创新

在当今数字化和信息化的时代,数据被认为是推动企业创新和发展的关键因素之一。作为全球最大的社交媒体平台,Facebook不仅积累了庞大的用户数据,还利用先进的数据分析技术,不断探索和实现新的创新。本文将深入探讨Facebook如何通过…

Golang中读写锁的底层实现

目录 Sync.RWMutex 背景与机制 接口简单介绍 sync.RWMutex 数据结构 读锁流程 RLock RUnlock RWMutex.rUnlockSlow 写锁流程 Lock Unlock Sync.RWMutex 背景与机制 从逻辑上,可以把 RWMutex 理解为一把读锁加一把写锁; 写锁具有严格的排他性&…

Spring之事务管理TranscationManager(大合集)

原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性 一个事务的执行不能被其他事务干扰。 持续性 一…

人工智能算法工程师(中级)课程12-PyTorch神经网络之LSTM和GRU网络与代码详解1

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程12-PyTorch神经网络之LSTM和GRU网络与代码详解。在深度学习领域,循环神经网络(RNN)因其处理序列数据的能力而备受关注。然而,传统的RNN存在梯度消失和梯度爆炸的问题,这使得它在长序列任务中的表现不尽…

【Git分支管理】理解分支 | 创建分支 | 切换分支 | 合并分支 | 删除分支 | 强制删除分支

目录 前言 0.理解分支 1.查看本地仓库存在的分支 2.HEAD指向分支 3.创建本地分支 4.切换分支 5.分支提交操作 6.合并分支 快进模式Fast-forward 7.删除分支 8.强制删除分支 本篇开始介绍下Git提供的杀手级的功能:分支管理 先提交再合并 前言 在玄幻武侠…

IP-Guard日志数据上传至 SYSLOG 服务器操作指南

一、功能简介 服务器支持把日志数据上传到 SYSLOG 服务器。 二、功能配置 2.1 数据目录移交设置 在服务器安装目录下 OServer3.ini 文件中,添加工具启动配置,配置五分钟内生效。 Path:设置移交目录路径,IPG 服务器会把收集完成的…

Redis④ —— 高可用

1. 主从复制 一主多从模式,采用读写分离的方式主服务器可以进行读写操作,当发生写操作时自动将写操作同步给从服务器,而从服务器一般是只读,并接受主服务器同步过来写操作命令,然后执行这条命令。主从服务器之间的命令…

jvm常用密令、jvm性能优化、jvm性能检测、Java jstat密令使用、Java自带工具、Java jmap使用

1.jps是Java虚拟机的进程状态工具,用于列出正在运行的Java进程 jps命令的使用:cmd打开直接jps 1.1不带参数: jps 默认情况下,列出所有正在运行的 Java 进程的进程 ID 和主类名。 1.2 -l:显示完整的主类名或 JAR 文件…

《故障复盘 · 数据库连接异常关闭》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

不开放80或443端口也能申请IP SSL证书!

在申请SSL/HTTPS证书时,如果不方便使用域名或者没有域名,就要申请一种特殊的SSL证书——IP SSL证书。但是一般的IP地址证书签发过程中,需要短暂开放80或者443端口才能签发成功。那么问题来了,有的实在不能开放80或者443端口&#…

keil中GD32 MCU IAP中APP的存储地址如何设置?

前面和大家聊过什么是IAP,那么IAP中APP的存储地址该如何设置呢? 以keil为例,打开工程的option选项卡: 将IROM1中的地址改为你想要保存的位置,比如0x08008000开始的位置: 这样通过keil烧录,程序…

记录|.NET上位机开发和PLC通信的实现

本文记录源自:B站视频 实验结果:跟视频做下来是没有问题的。能运行。 目录 前言一、项目Step1. 创建项目Step2. 创建动态图片展示Step3. 创建图片型按钮Step4. 创建下拉框Step1~4的效果展示Step5. 编程实体类操作类Main函数 Step1~5的效果展示Main函数 最…

[Python学习篇] Python PyMysql

什么是PyMysql PyMysql是一个纯 Python 实现的 MySQL 客户端库,允许你在 Python 程序中与 MySQL 数据库进行交互。 安装PyMysql PyMysql地址:https://pypi.org/project/PyMySQL/ pip install pymysql 使用PyMysql 连接mysql import pymysql# 数据库连…

数据库redis命令作业九

1、安装redis,启动客户端、验证。 2、string类型数据的命令操作: (1) 设置键值: (2) 读取键值: (3) 数值类型自增1: (4) 数…

【单片机毕业设计选题24064】-基于阿里云的鱼塘水质检测系统

系统功能: 主控为STM32F103C8T6,通过PH值传感器、浑浊度传感器、温度传感器采集各项水质数据,系统可设定各参数 的阈值,超过设定的阈值将通过蜂鸣器响来提醒用户做出措施,同时通过ESP-12F WIFI模块将设备连接阿里云 物联网平台…

信通院全景图发布 比瓴科技领跑软件供应链安全,多领域覆盖数字安全服务

近日,中国信息通信研究院在2024全球数字经济大会—数字安全生态建设专题论坛正式发布首期《数字安全护航技术能力全景图》(以下简称全景图)。 比瓴科技入选软件供应链安全赛道“开发流程安全管控、交互式安全测试、静态安全测试、软件成分分…

rtf是什么格式的文件?rtf格式和word的区别是什么?

RTF是什么格式的文件? RTF(富文本格式,Rich Text Format)和Word文档(以.doc和.docx为扩展名的Microsoft Word文档)是两种常用的文本文件格式。它们在文件结构、兼容性、功能和使用场景等方面存在一些显著差异。 比如…

泰迪智能科技江西大数据实验室成功案例介绍说明

高校大数据实验室作为作为支撑高校人培方案实施的核心设施,实验室的建设一定要与学科建设、人才培养充分融合,是一个包含物理空间硬件资源软件资源课程内容的系统化工程。高校在实验室规划过程中,第一要务就是从学科定位出发、结合学校的特色…

ASP.NET MVC-制作可排序的表格组件-PagedList版

环境: win10 参考: 学习ASP.NET MVC(十一)——分页 - DotNet菜园 - 博客园 https://www.cnblogs.com/chillsrc/p/6554697.html ASP.NET MVCEF框架实现分页_ef 异步分页-CSDN博客 https://blog.csdn.net/qq_40052237/article/details/106599528 本文略去…