Back to Notes

用traefik反向代理wordpress主机(已作废)

前提条件:traefik

创建一个新的wordpress主机,不是在docker中,新的虚拟机lxc中。配置好静态ip,保证wpadmin的设置中home和siteurl也是相同的ip。
在traefik中的file provider中添加:


http:

  routers:

    uka47wp:

      entryPoints:

        – http

      rule: “Host(`uka47wp.onebigmacplz.xyz`)”

      middlewares:

        – uka47wp-https-redirect

      service: uka47wp

    uka47wp-secure:

      entryPoints:

        – https

      rule: “Host(`uka47wp.onebigmacplz.xyz`)”

      tls:

        certResolver: cloudflare

      service: uka47wp

  middlewares:

    uka47wp-https-redirect:

      redirectScheme:

        scheme: https

  services:

    uka47wp:

      loadBalancer:

        servers:

          – url: “http://192.168.10.33:80”

添加pihole的local dns指向traefik主机

更改home和siteurl为https://uka47wp.onebigmacplz.xyz

使用wp-cli工具可以在无法访问wp-admin时通过命令行修改:

步骤 1: 下载 WP-CLI
首先,确保你的服务器具备必要的依赖项,例如 PHP 和 cURL。如果尚未安装,可以使用以下命令进行安装(以 Ubuntu 为例):

bashSaveCopy

1

2

sudo apt update

sudo apt install -y php-cli php-mbstring unzip curl

然后,下载 WP-CLI 的 Phar 文件:

bashSaveCopy

1

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

步骤 2: 验证 Phar 文件
确保 Phar 文件可执行,并验证其是否工作正常:

bashSaveCopy

1

2

chmod +x wp-cli.phar

php wp-cli.phar –info

如果输出了 WP-CLI 的信息,说明下载成功。

步骤 3: 全局安装 WP-CLI
将 WP-CLI 移动到 /usr/local/bin 目录,并重命名为 wp,以便全局使用:

bashSaveCopy

1

sudo mv wp-cli.phar /usr/local/bin/wp

现在,你可以通过运行 wp 命令来使用 WP-CLI:

bashSaveCopy

1

wp –info

你应该会看到 WP-CLI 的相关信息,表示安装成功

然后运行

cd /var/www/html/wordpress
sudo -u www-data wp option update home ‘https://uka47wp.onebigmacplz.xyz’
sudo -u www-data wp option update siteurl ‘https://uka47wp.onebigmacplz.xyz’

如果已经是root就去掉sudo -u www-data添加–allow-root

然后会由于traefik和wordpress本身不断重定向,会出现too many redirects的提示

wp-config.php最开头<php后添加:
/**

Handle SSL reverse proxy
*/
if ($_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’)
$_SERVER[‘HTTPS’]=’on’;
if (isset($_SERVER[‘HTTP_X_FORWARDED_HOST’])) {
$_SERVER[‘HTTP_HOST’] = $_SERVER[‘HTTP_X_FORWARDED_HOST’];
}

不在最开头会出现其他问题