docker-compose根据nginx反向代理wordpress并给域名增加https

1)docker-compose

version: '3'

services:

  mysql:

    image: mysql:latest

    restart: always

    environment:

      - MYSQL_ROOT_PASSWORD=rootpassword

      - "TZ=Asia/Shanghai"

    volumes:

      - /root/docker/mysql:/var/lib/mysql

    ports:

      - 3306:3306

  wp:

    depends_on:

      - mysql

    image: wordpress:latest

    volumes:

      - /root/docker/wp:/var/www/html

    restart: always

    environment:

      - VIRTUAL_HOST=www.wp.com,wp.com,img.wp.com

      - WORDPRESS_DB_HOST=mysql:3306

      - WORDPRESS_DB_USER=root

      - WORDPRESS_DB_PASSWORD=rootpassword

      - WORDPRESS_DB_NAME=wp

  # 以下是nginx反向代理服务的配置

  nginx-proxy:

    image: jwilder/nginx-proxy

    restart: always

    ports:

      - "80:80"

      - "443:443"      # ssl 默认是443端口,因此需要将443端口映射到宿主机上

    volumes:

      - /var/run/docker.sock:/tmp/docker.sock:ro        # 将宿主机的docker.sock绑定到nginx,这样,今后添加新的站点时,nginx将会自动发现站点并重启服务

      - /root/docker/wp_certs:/etc/nginx/certs:ro      # 将nginx中的证书目录,映射到宿主机中


2)申请免费SSL证书


3)在 /root/docker/wp_certs 下创建 key 和 crt

下载的证书文件xxx.key中的内容黏贴进来并保存

vim www.wp.com.key

下载的证书文件xxx.pem中的内容黏贴进来并保存

vim www.wp.com.crt

如果有多个子域名可以申请多个免费证书然后

vim img.wp.com.key

vim img.wp.com.crt

你可能感兴趣的:(docker-compose根据nginx反向代理wordpress并给域名增加https)