无法使用反向代理后面的 wp-cli 生成的用户 wordpress 登录

Cannot login with wp-cli generated user wordpress behind reverse proxy

大家好,我在此处制作了一个自定义 wordpress 图像:https://github.com/ellakcy/wordpressWithPlugins

在入口点脚本上,我使用 wp-cli 来生成自定义用户以便预安装插件。但是我无法使用wp-cli生成的用户登录到控制面板。

你知道如何解决吗?

脚本的入口点如下:https://github.com/ellakcy/wordpressWithPlugins/blob/master/docker-entrypoint.sh

我 运行 带有这些命令的容器:(用于开发目的)

docker run --name wpdb -e MYSQL_ROOT_PASSWORD=1234 -d mariadb docker run --name mywordpress --link wpdb:mysql -p 8080:80 -ti wp

我使用 apache 作为反向代理来访问 mywordpress 容器中的 wordpress 运行ning:

<VirtualHost *:80>

ProxyPass /  http://172.17.0.3/
ProxyPassReverse  http://172.17.0.3/ /

</Virtualhost>

(代替 172.17.0.3 可以是容器的 ip 运行ning wordpress)

编辑 1

我通过设置网络成功登录:

docker network create --subnet="172.19.0.0/16" wordpress_default

并为容器设置自定义 ips。 (我也设置了一些环境变量。)

RUN MYSQL/MARIADB

docker run --name wpdb --net wordpress_default --ip 172.19.0.2 -e MYSQL_ROOT_PASSWORD=1234 -d mariadb

run wordpress docker with some extra enviiromental variables

docker run --name mywordpress --net wordpress_default --ip 172.19.0.3 --link wpdb:mysql -e WORDPRESS_ADMIN_PASSWORD=1234 -e WORDPRESS_ADMIN_EMAIL=pc_magas@openmailbox.org -e WORDPRESS_URL=172.19.0.3 -p 8080:80 -ti wp

并通过第二个命令给出的 ip 访问 wordpress 站点。但是我仍然有问题使用本地apache 运行ning作为反向代理。

最后只需手动将机器的 ip 设置为 url 就好了。

docker run --name wpdb --net wordpress_default --ip 172.19.0.2 -e MYSQL_ROOT_PASSWORD=1234 -d mariadb
run wordpress docker with some extra enviiromental variables

docker run --name mywordpress --net wordpress_default --ip 172.19.0.3 --link wpdb:mysql -e WORDPRESS_ADMIN_PASSWORD=1234 -e WORDPRESS_ADMIN_EMAIL=pc_magas@openmailbox.org -e WORDPRESS_URL=172.19.0.3 -p 8080:80 -ti wp

我所要做的就是将以下虚拟主机设置为我的 apache:

<VirtualHost *:80>

RequestHeader set X-Forwarded-Proto "http"

ProxyPass /  http://172.19.0.3/
ProxyPassReverse  http://172.19.0.3/ /

</Virtualhost>

(生产可能需要一些改动)