栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Nginx加某个接口的登录验证

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nginx加某个接口的登录验证

目录

Nginx配置实例:

其中,简单介绍下我加个两个路由/lyg和/test的原因:

如何安装htpasswd:

①yum install -y httpd-tools

②rpm包安装:

账户名密码的生成(htpasswd命令的使用)示例:

使用浏览器访问此类接口示例:

使用postman调用此类示例:


采用ngx_http_auth_basic_module模块加某个接口验证:

之前部署了一个java接口服务,但是开发没有进行身份验证模块的开发,后续考虑先使用Nginx的ngx_http_auth_basic_module模块进行身份验证。

ngx_http_auth_basic_module它提供了最基本的http认证,这是http协议支持的,它会弹出一个框让你输入用户名和密码,只有用户名和密码输入正确了才能访问,这样就能保证自己的web不被任何人所访问。

ngx_http_auth_basic_module是使用文件作为存储介质的,用户名是明文存储,而密码是加密之后再存储,这样在认证框输入的用户名和密码必须和文件的信息匹配才能认证成功。这里使用htpasswd这个命令来生成存放用户名和密码的文件。

Nginx配置实例:

我用一个虚拟机的nginx进行了测试,Nginx配置文件为:

其中,简单介绍下我加个两个路由/lyg和/test的原因:

我一开始的配置是这样的:

location /lyg {

auth_basic "...";

auth_basic_user_file ....;

return 200 'this is text!';

}

发现不起作用,在往上了解后才发现是这个原因(http://nginx.org/en/docs/dev/development_guide.html#http_phases):

NGINX与名为"access-phases"的东西一起工作,return在请求处理的早期就开始了。在location块中有一个return语句会告诉NGINX立即返回它。不管之后的其他阶段是什么。return语句是ngx_http_rewrite_module的一部分,所以这是return语句开始的阶段。根据文档,检查auth_basic的NGX_HTTP_ACCESS_PHASE 要晚很多。

如何安装htpasswd:

①yum install -y httpd-tools

②rpm包安装:

逐个按照顺序安装:

apr....rpm

apr-util....rpm

apr-util-ldap....rpm

postgresql-libs....rpm

mailcap....rpm

httpd-tools....rpm

rpm包安装htpasswd所需包-Web服务器文档类资源-CSDN下载

账户名密码的生成(htpasswd命令的使用)示例:

-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上; 
-m:默认采用MD5算法对密码进行加密; 
-d:采用CRYPT算法对密码进行加密; 
-p:不对密码进行进行加密,即明文密码; 
-s:采用SHA算法对密码进行加密; 
-D:删除指定的用户。

常用的实例就是生成文件,添加用户:htpasswd -bc .passwd lyg lyglinux

在原有文件中添加用户:htpasswd -b .passwd zxx zxxlinux

使用浏览器访问此类接口示例:

使用postman调用此类示例:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973981.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号