Nginx中使用htpasswd

上一篇博客介绍了

Nginx添加第三方模块并实现平滑启动

其中留下了一个问题?

监控Nginx服务器运行情况的模块。只要用户在浏览器输入,就可以访问监控页面。这样很不安全,因为任何人都可以访问这个页面。是否可以再添加一个授权模块呢?

答案是肯定的,Nginx的提供了这个模块,它可以来解决这个问题。这个模块是默认就编译进nginx的,可以直接拿来使用。

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

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

什么是 htpasswd ?

htpasswd 是开源 http 服务器 apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件。

安装

ubuntu

centos

使用

语法

htpasswd使用帮助

htpasswd 选项说明

htpasswd 参数说明

用户:用户名

密码:用户的密码

实例

利用htpasswd命令添加用户

或者不用交互的模式

在目录下生成一个文件,用户名,密码,默认采用MD5加密方式。

在原有密码文件中增加下一个用户

去掉选项即可在第一个用户之后添加第二个用户

不更新密码文件,只显示加密后的用户名和密码

不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码。

利用htpasswd命令删除用户名和密码

利用htpasswd命令修改密码

并没有直接修改密码的函数,需要先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。

Nginx中使用htpasswd

在配置文件中打开http basic auth认证。

效果图

访问时提示密码框401没有权限

个人能力有限如有错误欢迎指正。你有更好的解决方案或者建议欢迎一起交流讨论,如有疑问欢迎留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G09DSK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券