Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache反向代理背后的WordPress站点不断重定向到本地主机_Wordpress_Docker_Docker Compose_Podman_Podman Compose - Fatal编程技术网

Apache反向代理背后的WordPress站点不断重定向到本地主机

Apache反向代理背后的WordPress站点不断重定向到本地主机,wordpress,docker,docker-compose,podman,podman-compose,Wordpress,Docker,Docker Compose,Podman,Podman Compose,我正在尝试使用podman compose(工作原理类似于docker compose)在生产服务器上部署容器化Wordpress。web服务在主机上的端口8080上公开。然后,我利用Apache的ProxyPass指令创建一个反向代理,并将请求发送到WordPress服务的localhost:8080,从而使WordPress在上可用。 我成功地将数据库和wordpress卷迁移到服务器。我遇到的第一个问题是WordPress在wpoptions中将localhost存储为siteurl和ho

我正在尝试使用podman compose(工作原理类似于docker compose)在生产服务器上部署容器化Wordpress。web服务在主机上的端口8080上公开。然后,我利用Apache的ProxyPass指令创建一个反向代理,并将请求发送到WordPress服务的localhost:8080,从而使WordPress在上可用。
我成功地将数据库和wordpress卷迁移到服务器。我遇到的第一个问题是WordPress在wpoptions中将localhost存储为
siteurl
home
,因此它在生产服务器上无法工作。将这些值更改为example.com(我的域)后,它会继续重定向到localhost。精神失常的 这是我的docker-compose.yaml:

version: "3.8"
services: 
  web:
    image: wordpress
    restart: always
    volumes:
      - wordpress:/var/www/html
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_NAME: db
      WORDPRESS_DB_PASSWORD: mypass
      WORDPRESS_DEBUG: 0
    depends_on:
      - db
    networks:
      - wpnet
  db:
    image: mariadb:10.5
    restart: always
    ports:
      - 6603:3306

    volumes:
      - wpdbvol:/var/lib/mysql

    environment:
      MYSQL_DATABASE: db
      MYSQL_USER: user
      MYSQL_PASSWORD: mypass
      MYSQL_ROOT_PASSWORD: mypass
    networks:
      - wpnet
volumes:
  wordpress: {}
  wpdbvol: {}

networks:
  wpnet: {}
下面是我的反向代理配置:

<VirtualHost *:80>

ServerName example.com
ServerAlias www.example.com

ProxyPass "/"  "https://localhost:8080"

#Allows modification of Location: headers from backend server to point to the reverse proxy
ProxyPassReverse "/"  "http://localhost:8080"
</VirtualHost>

ServerName example.com
ServerAlias www.example.com
代理过程“/”https://localhost:8080"
#允许修改来自后端服务器的Location:header以指向反向代理
ProxyPassReverse“/”http://localhost:8080"

这是一个长期目标,很可能无法实现

也许可以尝试定义
https://example.com
作为您在compose yml
环境中的主url
WORDPRESS\u CONFIG\u EXTRA
设置

服务:
网状物:
图片:wordpress
重新启动:始终
卷数:
-wordpress:/var/www/html
端口:
- 8080:80
环境:
WORDPRESS\u DB\u主机:DB
用户:用户
WORDPRESS\u DB\u名称:DB
密码:mypass
WORDPRESS_调试:0
WORDPRESS\u配置\u额外:|
/**定义我们的主页url*/
定义('WP_HOME','https://example.com');
定义('WP_SITEURL','https://example.com');
取决于:
-分贝
网络:
-wpnet
可能会强制wordpress安装到它的目标,并阻止它重定向回
localhost




另外,当我在访问本地wordpress环境时遇到问题,我不得不安装wordpress插件,这使我的隧道正常工作

不确定这是否与您的问题相关,但在尝试上述
WORDPRESS\u CONFIG\u EXTRA
idea之前,可能值得安装插件并查看这是否解决了本地主机重定向问题

该插件已经2年没有更新了,但仍然可以正常使用。插件实际上是20行php代码,我想这些代码可以放到你的函数中


允许我通过https协议url访问本地docker compose wordpress环境,如
http://example.ngrok.io/
,这对我处理本地webhook响应回调(我与stripe一起使用)很方便。

尽管大多数安装问题在这次更改后都消失了,仍然请求主页将浏览器放置到本地主机。嗯,不太确定,希望你能解决。你找到答案了吗?可能还有别的主意,不是真的。仍然没有进展:(