前言:有时一个小小的认证可以帮到不少的忙 如:电子商务的网站做的测试站等 各种监控软件 不希望别人去看到等 对这种不需要太高性能 只要功能的完全可以用用户认证完成。
一、Apache认证
认证的类型:Basic
Digest摘要
认证方法:A、容器认证:<Directory> ……</Directory>
B、隐藏文件认证创建.htaccess文件
方法一、容器认证
A、 进入配置文件 vi /etc/httpd/conf/httpd.conf
B、 配置:大约在531行附近 配置如下:
<Directory “/var/www/html/mrtg”>
AllowOverride None ##不允许通过隐藏认证,即通过容器认证
AuthType Basic ##认证类型为Basic
AuthName “ajian” ##认证名字为Ajian
AuthUserFile /var/www/passwd/pass ##pass 为认证密码文件,指定密码文件存放的位置。
Require valid-user ##有效用户(注意大小写,因为Word的原因有些大小写有变化)
</Directory>
C、 创建目录 mkdir -p /var/www/passwd
进入目录 cd /var/www/passwd
D、创建Apache用户 htpasswd -c pass ajian ##pass 为密码文件Ajian为用户
更改 把Pass文件的使用权给Apache: chown apache.apache pass
附:再在Pass文件中添加一个用户:htpasswd pass tt ##添加一个TT的用户到Pass文件中
E、重启服务并测试
方法二、通过隐藏认证
和上面差不多 不过配置不一样
Httpd主配置文件
<Directory “/var/www/html/mrtg”>
AllowOverride AuthConfig
</Directory>
创建隐藏文件并放到要通过认证的目录
Eg: vi /var/www/html/mrtg
AuthType Basic
AuthName “Ajian”
AuthUserFile /var/www/passwd/pass
Require valid-user
二、Nginx 登录认证
如果要进行登录认证访问,在nginx.conf中的虚拟主机配置:
auth_basic “web test”;
auth_basic_user_file /www/htpasswd.conf;
注意:1、 auth_basic_user_file 最好用绝对路径
然后编辑htpasswd.conf文件,
需要用Apache的htpasswd命令生成:
# /usr/local/apache/bin/htpasswd -nb user 123456
user:0MIByk5HqBep
将输出的导入到htppasswd.conf中:
user:0MIByk5HqBepY
注意:1、这个文件跟nginx的用户要同权限