You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Docker容器部署的Zabbix前端配置自签名SSL证书

配置Zabbix前端(Apache容器)实现ELB到容器的HTTPS加密

一、确认证书挂载与权限

  • 确保EC2主机上的example.crt和example.key所在目录(比如/opt/zabbix-ssl/)已挂载到容器内指定路径,在ECS任务定义的卷配置中添加绑定挂载:
    • 源路径:/opt/zabbix-ssl/(EC2上的证书目录)
    • 目标路径:/etc/apache2/ssl/(容器内自定义目录)
  • 进入容器验证证书文件存在且权限合规:
    docker exec -it <你的容器ID> ls -l /etc/apache2/ssl/
    
    确保Apache运行用户www-data有读取权限,可在EC2主机上将证书文件权限设为644、密钥文件设为600。

二、配置Apache SSL虚拟主机

在容器内/etc/apache2/sites-available/路径下创建或修改SSL配置文件(比如zabbix-ssl.conf):

<VirtualHost *:443>
    ServerName zabbix.your-domain.com  # 替换为实际Zabbix主机名
    DocumentRoot /usr/share/zabbix

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/example.crt  # 对应容器内证书路径
    SSLCertificateKeyFile /etc/apache2/ssl/example.key  # 对应容器内密钥路径

    # 可选安全配置
    SSLProtocol TLSv1.2 TLSv1.3
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on

    # 继承Zabbix默认目录规则
    <Directory /usr/share/zabbix>
        Options FollowSymLinks
        AllowOverride None
        Require all granted

        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . index.php [L]
        </IfModule>
    </Directory>

    <Directory /usr/share/zabbix/assets>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/zabbix-ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/zabbix-ssl-access.log combined
</VirtualHost>

三、启用SSL模块与站点

  1. 进入容器启用SSL模块:
    docker exec -it <你的容器ID> a2enmod ssl
    
  2. 启用SSL站点配置:
    docker exec -it <你的容器ID> a2ensite zabbix-ssl.conf
    
  3. 验证Apache配置合法性:
    docker exec -it <你的容器ID> apache2ctl configtest
    
    输出Syntax OK则配置有效。
  4. 重启Apache服务:
    docker exec -it <你的容器ID> service apache2 restart
    

四、ECS与ELB配置调整

  • 在ECS任务定义中,将容器的443端口映射到EC2实例的443端口(或自定义端口)。
  • 配置ELB的HTTPS监听器:
    • 协议:HTTPS(端口443)
    • 转发目标:ECS服务所在EC2实例的映射端口
    • 目标组协议设为HTTPS,端口与容器映射端口一致。

五、验证访问

访问ELB关联的Zabbix域名,确认能通过HTTPS正常访问前端,浏览器提示自签名证书属于正常现象。

内容的提问来源于stack exchange,提问作者ehsan ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:42:37