目录
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包安装:
②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



