跳到主要内容

[toc]

配置zabbix基于apache、nginx用户认证

1.基于apache

1.修改Apache的配置文件/etc/httpd/conf/httpd.conf

对需要认证的资源所在的目录进行配置,在文件最后一行加入以下内容,其中Allowoverride authconfig一行表示允许对/etc/zabbix/web目录下的内容进行用户认证

[root@zabbix-server ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/usr/share/zabbix">
Options Indexes FollowSymLinks
Allowoverride AuthConfig
Order allow,deny
Allow from all
</Directory>

2.在限制访问目录/usr/share/zabbix下创建文件.htaccess,并写入以下内容

[root@zabbix-server ~]# cat > /usr/share/zabbix/.htaccess <<EOF
AuthName "admin"
AuthType basic
AuthUserFile /usr/share/zabbix/auth_file
require valid-user
EOF

#参数说明
AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中
AuthType:定义认证类型,在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5
AuthUserFile:定义包含用户名和密码的文本文件,每行一对
AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2
require命令:定义哪些用户或组才能被授权访问。如:
require user user1 user2 (只有用户user1和user2可以访问)
requires groups group1 (只有group1中的成员可以访问)
require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问)

3.创建一个用户名为admin,密码为123456的登陆认证用户,同时将密码存放于/etc/zabbix/auth_conf

[root@zabbix-server ~]# yum -y install httpd-tools
[root@zabbix-server ~]# htpasswd -b -c /usr/share/zabbix/auth_file admin 123456
Adding password for user admin

4.重启apache服务

[root@zabbix-server ~]# systemctl restart httpd

2.基于nginx

1.安装包

[root@zabbix-server ~]# yum -y install httpd-tools

2.创建认证文件、配置nginx

这里指定了认证文件是/etc/nginx/auth_file,认证的用户名是admin,密码是123456,文件的所有者为root,权限是644

[root@zabbix-server ~]# htpasswd -b -c /etc/nginx/auth_file admin 123456


#nginx配置文件写入auth_basic和auth_basic_user_file
location / {
auth_basic "Auth access down Input your Passwd!";
auth_basic_user_file /etc/nginx/auth_file;
}