如何在 DDEV-Local 中为 MailHog 服务添加基本身份验证

How can I add basic authentication to the MailHog service in DDEV-Local

我有一个不寻常的设置,我想在 DDEV-Local 的 MailHog 功能上提供一些身份验证。如何添加基本身份验证?

由于事实证明 MailHog supports basic auth 和 DDEV-Local 提供了在构建时将额外文件添加到容器中的能力,您可以这样做(针对 DDEV v1.19.0 更新):

将这四个文件添加到您的 DDEV-Local 项目中的 .ddev/web-build:

  1. mailhog.conf:
[program:mailhog]
command=/usr/local/bin/mailhog -auth-file=/etc/mailhog-auth.txt
autorestart=true
startretries=10
  1. mailhog-auth.txt:
test:a$qxRo.ftFoNep7ld/5jfKtuBTnGqff/fZVyj53mUC5sVf9dtDLAi/S
  1. Docker 文件:
ARG BASE_IMAGE
FROM $BASE_IMAGE
ADD mailhog-auth.txt /etc
ADD mailhog.conf /etc/supervisor/conf.d
ADD healthcheck.sh /
  1. healthcheck.sh:(参见 gist - 此处引用有点长。)

现在您可以 ddev start 并且使用“test”:“test”对 mailhog 进行身份验证。 MailHog auth page 提供了有关如何生成更好的密码的更多详细信息,它只会进入 mailhog-auth.txt.

作为此问题的后续行动,在升级到 DDEV v1.19.0 后,使用此处列出的说明为 MailHog 配置了基本身份验证的项目导致项目不再启动。直到最终删除了项目的整个 DDEV 设置并系统地一次实现一个自定义后,我们才最终将其作为一个问题隔离开来。不用说,浪费了一个下午。

不确定 v1.19.0 的网络图像发生了什么变化,但这个在 DDEV v1.18.2 中运行良好的解决方案现在不再有效。

留给可能遇到同样问题的其他人。