vlambda博客
学习文章列表

使用htpasswd实现Nginx验证访问

刹客网络科技资讯
点击右侧关注,最新科技资讯!


是҉҉҈҉҉҉҈҉҉҉҈҈҉҉谁҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈都҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈可҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈以҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈打҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈出҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈的҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈字҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈,҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈不҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈信҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈你҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈就҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈试҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈试҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉


Nginx是一个高性能的WEB服务器,越来越多的用户使用,如果您的某个站点不希望对外公开(比如PHPMyAdmin),可以使用htpasswd实现Nginx验证访问。

使用htpasswd实现Nginx验证访问

安装htpasswd

htpasswd是Apache密码生成工具,Nginx支持auth_basic认证,因此我门可以将生成的密码用于Nginx中,输入一行命令即可安装:yum -y install httpd-tools ,参数如下:

-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户

生成密码

#进入home目录
cd /home
#生成密码
htpasswd -c ./passwd username
#执行上命令后会要求输入两次密码,./passwd 是在当前目录下创建密码文件passwd ,username即为需要设置的账号

如果你不想安装htpasswd,也可以通过在线 htpasswd 生成器来完成。

载入配置

接下来在Nginx配置文件中(通常是server段内),加入如下两行,并重载Nginx(service nginx reload)即可生效。

auth_basic "Please input password";   #这里是验证时的提示信息
auth_basic_user_file /home/passwd;

问题解决

如果开启auth_basic认证后出现500错误,注意:

  • passwd改成nginx对应用户权限,比如您nginx配置的www用户来运行:chown www:www /home/passwd

  • 不要放到/root之类得目录下,请尝试移动到其它公共目录

访问测试

再访问站点,提示需要输入用户名和密码才可以访问,此方法适合不宜公开的站点,比如PHPmyadmin,这样可避免被弱口令扫描,无疑再上了一把锁。

使用htpasswd实现Nginx验证访问


是҉҉҈҉҉҉҈҉҉҉҈҈҉҉谁҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈都҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈可҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈以҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈打҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈出҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈的҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈字҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈,҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈不҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈信҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈你҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈就҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈试҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈试҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉҈!҉҉҈҉҉҉҈҉҉҉҈҈҉҉


使用htpasswd实现Nginx验证访问


使用htpasswd实现Nginx验证访问

点分享


使用htpasswd实现Nginx验证访问

点收藏

点点赞

点在看