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

Bitnami WordPress容器中通过Certbot配置Apache SSL证书求助

为Bitnami WordPress Docker容器的Apache配置Certbot SSL证书

前提条件

  • 域名已解析到服务器公网IP
  • 服务器防火墙已开放80、443端口
  • Docker和Docker Compose已正常安装

步骤1:调整Docker Compose配置

修改你的docker-compose.yml,添加证书目录挂载及SSL相关环境变量,确保容器能访问Certbot生成的证书:

version: '2'
services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.6
    volumes:
      - 'mariadb_data:/bitnami/mariadb'
    environment:
      # ALLOW_EMPTY_PASSWORD仅用于开发环境,生产环境务必设置强密码
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_wordpress
      - MARIADB_DATABASE=bitnami_wordpress
  wordpress:
    image: docker.io/bitnami/wordpress:6
    ports:
      - '80:8080'
      - '443:8443'
    volumes:
      - 'wordpress_data:/bitnami/wordpress'
      # 挂载主机Let's Encrypt证书目录到容器内
      - '/etc/letsencrypt:/etc/letsencrypt'
      # 挂载主机webroot目录用于Certbot验证
      - '/var/www/html:/bitnami/wordpress'
    depends_on:
      - mariadb
    environment:
      # ALLOW_EMPTY_PASSWORD仅用于开发环境,生产环境务必设置强密码
      - ALLOW_EMPTY_PASSWORD=yes
      - WORDPRESS_DATABASE_HOST=mariadb
      - WORDPRESS_DATABASE_PORT_NUMBER=3306
      - WORDPRESS_DATABASE_USER=bn_wordpress
      - WORDPRESS_DATABASE_NAME=bitnami_wordpress
      # 启用HTTPS
      - WORDPRESS_HTTPS_ENABLED=yes
      # 替换为你的实际域名
      - WORDPRESS_SSL_CERTIFICATE=/etc/letsencrypt/live/你的域名/fullchain.pem
      - WORDPRESS_SSL_CERTIFICATE_KEY=/etc/letsencrypt/live/你的域名/privkey.pem

修改完成后启动容器:

docker-compose up -d

步骤2:在主机安装Certbot并获取证书

以Ubuntu系统为例,执行以下命令安装Certbot:

sudo apt update && sudo apt install certbot -y

使用webroot模式申请证书,替换你的域名为实际域名:

sudo certbot certonly --webroot -w /var/www/html -d 你的域名

按照终端提示完成域名验证,证书会自动生成在/etc/letsencrypt/live/你的域名/目录下。


步骤3:重启容器使SSL配置生效

docker-compose restart wordpress

此时访问你的域名,应该已自动跳转到HTTPS连接。


步骤4:配置证书自动续期

Let's Encrypt证书有效期为90天,设置自动续期确保服务持续可用:

  1. 编辑系统定时任务:
sudo crontab -e
  1. 添加以下内容(替换/path/to/your/docker-compose.yml为实际的文件路径):
0 3 * * * /usr/bin/certbot renew --quiet && docker-compose -f /path/to/your/docker-compose.yml restart wordpress

该任务会每天凌晨3点自动尝试续期证书,若续期成功则重启WordPress容器。


注意事项

  • 生产环境必须删除ALLOW_EMPTY_PASSWORD=yes,设置MARIADB_PASSWORD、WORDPRESS_PASSWORD等强密码环境变量
  • 若使用非Ubuntu系统,需根据系统包管理器调整Certbot安装命令

内容的提问来源于stack exchange,提问作者Serhii Ovchynnik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:10:48