本文介绍: 最近遇到一个项目,有这样一个需求需要把一些静态资源挂在web容器下提供给对方,毫无疑问,可以nginx实现,但需要一定的鉴权(账号密码token不同用户访问资源是不一样的,因为项目很小,项目金额有限,肯定是考虑最小成本实现,因此查找了一些nginx相关资料

前言

最近遇到一个项目,有这样一个需求需要把一些静态资源挂在web容器下提供给对方,毫无疑问,可以nginx实现,但需要一定的鉴权(账号密码token不同的用户能访问资源是不一样的,因为项目很小,项目金额有限,肯定是考虑最小成本实现,因此查找了一些nginx相关的资料。

教程

nginx安装

这里就不说了,百度大堆,此处省略大约一万字…………

修改nginx.conf配置文件

主要是加以下两行

auth_basic "Please input password"; #提示输入用户名密码提示框
auth_basic_user_file /etc/nginx/conf.d/auth_pwd.auth; #密码文件

加在server /http /location可以这个看每个人需求

生成密码

  1. apache 带的 htpasswd需要另外安装,具体可以搜索以下)
  2. openssl 自带工具(装有sshdlinux自带了)推荐

这里介绍openssl密码生成方式如下

	openssl passwd 密码明文

实操

[root@localhost conf.d]# pwd
/etc/nginx/conf.d
[root@localhost conf.d]# openssl passwd Sec@123456
wrg8FUthRnwdQ
[root@localhost conf.d]# echo -n "test:wrg8FUthRnwdQ" > auth_pwd.auth
[root@localhost conf.d]# 
注:这里test:wrg8FUthRnwdQ是用户名:生成密码密文

常见问题

  1. auth_basic_user_file 配置路径不对,nginx不会有报错信息,这点比较发现,配置的时候要特别留意
  2. Chrome 一次输错密码之后,不会重新弹出对话框了,测试时候可以使用chrome 无痕窗口,这样每次都会弹出密码输入窗口

参考

1.Nginx 官方文档 – Nginx Documentation

2.Nginx 官方文档 – Module ngx_http_auth_basic_module

3.victorc666-Nginx配置auth密码鉴权的方法

原文地址:https://blog.csdn.net/cjiankai/article/details/127881831

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_32880.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注