我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Nginx进阶 配置-Nginx auth_basic 身份认证

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Nginx进阶 配置-Nginx auth_basic 身份认证

前言

在公司前期投入研发时,尤其针对于ZF的客户,往往是很多需求含糊不清,可项目的里程碑节点已是板上定钉。在这种情况下,需求组应和研发组协同推敲,不断的制定计划、出demo,拿着我们推测出的构建想法及原型去征求客户的意见。
对于大屏、驾驶舱等可以前端先行的项目,往往不再是拿着高保真图片,而是部署到演示环境,将客户提供的真实数据展现于相关图表,数据可以使用前端mock数据,不用任何后端系统支撑。还有更low的是直接写死在图表上。用这个服务做演示汇报。这种情况下,有些驾驶舱、大屏的数据就涉及到敏感问题。演示的环境基本都是http://xxx.xxxx.xxx/xxxx ,针对于大屏并没有去配置用户权限控制,甚至这个时候后台的鉴权服务还没有搭建起来,还在属于设计的阶段,对于内网部署的还好去解释不做用户的鉴权。如果客户要求放在外网上,只要是拿到了url地址,任何人都可以访问。在前后台都不愿意去写一套登录代码认证的情况下,0代码完成用户认证,可以考虑使用Nginx的 auth_basic 。

个人经历

客户第二天需要验收大屏页面,加班到晚上9点刚把前端的包部署完准备下班,突然领导要求访问的大屏页面地址加个用户名登录,这样数据放在互联网上谁都可以访问查看,太危险,造成数据泄露。起初想法是让前端去实现,尽快搞完下班,但是前端组有别的任务,压力给到我这边。后来想到了nginx的负载均衡,应该是可以做到,查了相关资料,半小时搞定。记录下文章,给日后也有相关需求的项目团队提供帮助。

auth_basic 配置步骤

1.生成密码(Linux)

Nginx绝大部分公司使用的目的还是作为一个负载均衡的功能,当然Nginx里还提供了其它的一些作用。今天一起来学习下Nginx的 Auth_basic 鉴权。
Nginx下载、安装、启动这种弱智般的操作流程不再多写。要是不会建议转行哈。
ngx_http_auth_basic_module模块允许通过使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。 大致的过程就是在nginx下生成一个用户密码的配置文件,而后在conf配置文件中配置一下就OK了。
访问还可以根据地址、子请求的结果或JWT进行限制。同时通过地址和密码限制访问由满足指令控制。
同时,auth_basic要求放置的用户文件需要进行hash值计算,要对明文密码进行处理。用户文件后面说明。
注:加密处理只针对Linux服务器,Windows server不需要加密后的用户文件,不需要。不需要!!!只需要将明文用户密码作为一个文件就可以,网上没有对windows server的文件解释,自己摸索了半天才发现。

yum install httpd-tools -y

确定服务器是否安装了 http,而后生成用户名密码

htpasswd -nbm admin 12345678

使用了如上命令后,会生成加密后的hash值,大概是如下的样子

admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.

创建一个文件,不要有后缀的,将生成的用户密码贴进来。如果是多个用户,换行贴入就可以。文件可命名为auth_basic_user_file。放在可以找到的位置路径上。

2.配置

        location / {            root   html;            index  index.html index.htm;# 开启功能模块,关闭为offauth_basic on;# 指定密码配置文件auth_basic_user_file home/web/auth/auth_basic_user_file;# 验证通过后 跳转的相关路径proxy_pass   http://127.0.0.1:9003;        }

代码解读

nginx监听指定端口,用户访问指定的端口后,跳出验证用户密码,auth_basic on 代表打开验证登录,输入的用户密码要在生成的用户信息文件里可以匹配的上,完成验证后,跳转到9003端口的页面上。

业务思路

我这边的服务器是window server,我认为Linux也一样可以参考,首先将服务器的9003号端口也就是我的大屏部署的端口进站关掉,这样即便项目部署成功去访问9003是访问不进来的,只能通过访问我的ngxin监听的端口。如果访问我的nginx监听端口,则跳转出登录,登录成功后内部自己跳转到9003。如下图
在这里插入图片描述

访问9007验证登录,输入配置的南京发改委账号信息,验证成功后显示大屏:
在这里插入图片描述
在这里插入图片描述

0代码完成用户的登录。

  0 error(s),0 warning(s)

来源地址:https://blog.csdn.net/goGoing_/article/details/126776750

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Nginx进阶 配置-Nginx auth_basic 身份认证

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Nginx进阶 配置-Nginx auth_basic 身份认证

前言 在公司前期投入研发时,尤其针对于ZF的客户,往往是很多需求含糊不清,可项目的里程碑节点已是板上定钉。在这种情况下,需求组应和研发组协同推敲,不断的制定计划、出demo,拿着我们推测出的构建想法及原型去征求客户的意见。 对于大屏、驾驶舱
2023-08-18

3.Nginx配置进阶(三)

nginx配置进阶(三)==============================================================================概述: 本章我们将会继续介绍Nginx中http段的配置,内
2023-01-31

NGINX 配置本地HTTPS(双向认证)

SSL协议即用到了对称加密也用到了非对称加密(公钥加密),在建立传输链路时,SSL首先对对称加密的密钥使用公钥进行非对称加密,链路建立好之后,SSL对传输内容使用对称加密。1.对称加密速度高,可加密内容较大,用来加密会话过程中的消息。2.公
2023-01-31

Nodejs进阶:express+session实现简易登录身份认证

文档概览本文基于express、express-session实现了简易的登录/登出功能,完整的代码示例可以在这里找到。 环境初始化首先,初始化项目express -e然后,安装依赖。npm install接着,安装session相关的包。
2022-06-04

Nginx服务器中为网站或目录添加认证密码的配置详解

这篇文章主要介绍了Nginx服务器中为网站或目录添加认证密码的配置详解,使用到了Apache的htpasswd工具,需要的朋友可以参考下nginx可以为网站或目录甚至特定的文件设置密码认证。密码必须是crypt加密的。可以用apache的h
2023-06-05

编程热搜

目录