我使用Docker在Caddy反向代理后面运行一个WordPress实例。只要我在没有额外路径的主URL下运行WordPress,设置就可以工作。当我添加运行WordPress的路径时,例如在
www.example.com/wp
,我收到重定向错误。不幸的是,我没能解决这个问题。
以下是相应的docker compose文件:
version: '3'
services:
wordpress:
image: wordpress:latest
container_name: wp
networks:
- db_gateway
- web_gateway
env_file:
- wp.env
environment:
WORDPRESS_CONFIG_EXTRA: |
define( 'WP_HOME', 'https://www.example.com/path' );
define( 'WP_SITEURL', 'https://www.example.com/path' );
volumes:
- ./wp_data/html:/var/www/html
- ./wp_data/wordpress:/var/lib/wordpress
labels:
caddy: www.example.com
caddy.reverse_proxy: "{{ upstreams 80 }}"
restart: always
networks:
db_gateway:
external: true
web_gateway:
external: true
caddy docker compose文件如下所示:
version: "3.7"
services:
caddy:
image: lucaslorentz/caddy-docker-proxy:2.3
container_name: caddy
ports:
- 80:80
- 443:443
networks:
- web_gateway
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./caddy_data:/data
labels:
caddy.email: xxxx
networks:
web_gateway:
external: true
我在这里不显示球童配置的其余部分。
我在wp容器日志中看到的是:
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/ HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:24 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
wp | xx.xx.xx.xx - - [18/Dec/2021:11:00:25 ] "GET /path/wp-admin/install.php HTTP/1.1" 302 356 "-" "my_user_agent"
我的浏览器被重定向到
https://www.example.com/path/wp-admin/install.php
但随后停止了重定向不起作用的消息。似乎有一个无限的重定向,但我不知道为什么。同样,如果没有这条路,一切都会如预期的那样运转。
更新:
我最终只是使用了另一个子域,而不是路径来获得一个有效的解决方案。尽管如此,我还是对在子路径中运行WP所需的内容感兴趣。