• 尊龙时凯

    热门搜索 Zabbix技术资料 Zabbix常见问、答讨论 成功案例 Zabbix交流区 Prometheus交流区

    如何通过zabbix Docker配置HTTPS访问系统?

    概述

    前面文章曾介绍过如果使用docker-compose快速部署一个zabbix系统,但是部署的zabbix系统是使用http协议进行访问的。有时候为了保证安全。我们需要配置使用https协议进行访问。

    下面就讲述如何使用自签名的ssl证书配置https访问。(注:若是有签发的证书,也可使用配置,无须自己生成自签名证书。)

    前提条件

    本文主要讲述zabbix官方镜像如何配置https访问,需为zabbix官方提供的zabbix docker镜像来部署的zabbix监控系统。

    一、 生成自签名证书

    首先,先生成自签名证书。

    这里提供一个快速生成证书的脚本,执行脚本需要输入一个IP的参数,然后会在脚本所在目录下面生成名为ssl.crt的证书和ssl.key的密钥。

    二、生成dhparam证书

    然后使用openssl生成dhparam证书。

    openssl dhparam -out dhparam.pem 2048

    三、配置证书

    接下来就需要将ssl证书和dhparam证书一共挂载进ZABBIX WEB镜像里面,随后重启即可生效。

    [if !supportLists]l [endif]若是zabbix系统使用docker-compose部署(可参考文章:使用docker-compose部署zabbix监控系统),则修改对应的docker-compose.yaml文件,如:

    修改完后,直接使用命令:

    docker-compose up –d

    重新创建容器即可生效

    [if !supportLists]l [endif]若是zabbix系统直接使用docker命令启动(可参考文章:如何使用docker快速部署zabbix监控系统),则需重新创建ZABBIX WEB容器,如:

    先删除旧容器,删除命令:

    docker rm -f 容器名

    然后重新创建容器命令:

    docker run –name zabbix-web -e ZBX_SERVER_HOST=192.168.75.31 -e ZBX_SERVER_PORT=10051 -e DB_SERVER_HOST=192.168.75.31 -e DB_SERVER_PORT=3306

    -e MYSQL_DATABASE=zabbix -e MYSQL_USER=root -e MYSQL_PASSWORD=zabbix -p 48080:8080 -p 48443:8443 –v /data/zabbix/ssl:/etc/ssl/nginx -d zabbix/zabbix-web-nginx-mysql:latest

    挂载容器参数解释:–v ./ssl:/etc/ssl/nginx

    -v —— 指启用卷挂载,格式:宿主机目录(文件)/容器目录(文件)

    /data/zabbix/ssl:/etc/ssl/nginx —— 指,将宿主机/data/zabbix/ssl目录挂载到容器的/etc/ssl/nginx目录

    四、访问测试

    配置好,重新创建容器后,查看容器日志:

    docker logs -f 容器名(容器ID)

    可以看到,已经启用了SSL

    最后到浏览器进行访问测试:

    http://IP:PORT

    如图,配置已完成。

    大家好,我是乐乐,专注运维技术研究与分享,关注我,了解更多zabbix知识。如有zabbix问题也可以到尊龙时凯社区留言提问,共同探讨解决方案。

    The prev: The next:

    Related recommendations

    Expand more!

    快速导航

    成功案例

    View all