BraveDAO站点设计升级中...

如何在 Docker 本地部署的 WordPress 中启用应用程序密码(Application Password)

正在檢視 0 則發表的回覆
  • 作者
    文章
    • #31939
      kito
      參與者

      应用程序密码(Application Password)是 WordPress 从 5.6 起引入的一项功能,它允许第三方服务(如 n8n、Zapier)通过 REST API 安全访问 WordPress,而无需暴露真实账户密码。

      如果你使用 Docker 在本地部署了 WordPress,可能会发现默认情况下 WordPress 后台并没有显示“应用程序密码”功能。这通常是因为 WordPress 检测到当前环境不是 HTTPS 或没有显式设置环境变量,从而出于安全考虑禁用了该功能

      本篇文章将介绍如何通过修改 wp-config.php 文件,显式设置 WordPress 环境类型为 local,从而在本地(即使是 HTTP 环境)启用应用程序密码功能。

      <hr>✳️ 为什么需要启用 WP_ENVIRONMENT_TYPE?

      WordPress 根据运行环境类型(WP_ENVIRONMENT_TYPE)判断是否允许某些敏感操作。默认情况下:

      • 若站点未启用 HTTPS,且环境不是 local,则禁用应用程序密码功能。
      • 显式设置 WP_ENVIRONMENT_TYPElocal 可绕过 HTTPS 校验,启用此功能。

      这对于本地开发、Docker 部署场景来说非常实用。

      ✅ 环境前提

      确保你已经:

      • 使用 Docker 成功部署 WordPress(例如使用官方镜像)
      • WordPress 可正常访问(如 http://localhost
      • 使用 Docker 工具(如 Dockge、Portainer)或 CLI 管理容器
      • 熟悉基本的 Docker 命令(如 docker cp, docker exec

      由于 WordPress 的官方 Docker 镜像非常精简,容器内部没有 vinano 编辑器。我们推荐使用以下方式在主机上修改文件,再将其复制回容器中,具体步骤如下:

      🔧 步骤一:复制配置文件到宿主机

      WordPress 的配置文件位于容器内部路径 /var/www/brave2049.com/htdocs/wp-config.php

      使用如下命令将其复制出来:

      docker cp wordpress:/var/www/brave2049.com/htdocs/wp-config.php ./wp-config.php

      这将在你当前的主机目录下生成一个可编辑的 wp-config.php 文件副本。

      ✍️ 步骤二:编辑 wp-config.php

      使用你主机上的编辑器(如 nano)打开 wp-config.php,找到下面这行注释:

      /* That's all, stop editing! Happy publishing. */

      在它正上方添加如下代码:

      define( 'WP_ENVIRONMENT_TYPE', 'local' );

      这样 WordPress 就会知道你当前是在本地环境运行,并自动放开应用密码功能的限制。

      📥 步骤三:复制修改后的文件回容器

      保存文件后,将其复制回 WordPress 容器:

      docker cp ./wp-config.php wordpress:/var/www/brave2049.com/htdocs/wp-config.php

      此操作会覆盖容器内的原始配置文件。若你之前做过其他配置修改,请注意合并处理。

      🔄 步骤四(可选):重启 WordPress 容器

      一般情况下无需重启即可生效。但如果你刷新后台后仍未看到应用密码区域,可以尝试:

      docker restart wordpress

      🚀 步骤五:在后台启用应用程序密码

      现在,进入 WordPress 后台:

      1. 点击「用户」→「个人资料」
      2. 向下滚动查找「应用程序密码(Application Passwords)」区域
      3. 输入一个名称(例如:n8n 接口)
      4. 点击「添加新应用密码」
      5. 复制系统生成的密码(只会显示一次!

      你可以将这个密码用于 REST API 请求或 n8n 等工具的认证凭据。

正在檢視 0 則發表的回覆
  • 抱歉,回覆主題必需先登入。