Yaws 基本认证 letsencrypt

Yaws basic auth letsencrypt

我有一个处于隐身模式的域,受基本身份验证保护。 Letsencrypt 不支持基本身份验证,而且可能永远不会 (https://github.com/certbot/certbot/issues/1744#issuecomment-162038303)。

从 Nginx 迁移到 Yaws 后,下一次 Letsencrypt 更新已安排。所以这是一个问题。我可以在 Yaws 中禁用基本身份验证,进行更新,然后再次启用,但这不是真正的解决方案。

Apache 和 Nginx 有简单的解决方法,即为目录 /.well-known/acme-challenge.

定义基本身份验证例外

如何在 Yaws 中做到这一点? yaws.conf 中我的域的基本身份验证定义现在是

    <auth>
        realm = "some realm" 
        user = "some_user:some_pw"
    </auth>

在此上下文中,我发现的关于雅司病的唯一参考是从 2010 年开始的,指的是雅司病 1.81 (https://uu.diva-portal.org/smash/get/diva2:344199/FULLTEXT01.pdf)。 Letsencrypt 开始于 2015 年。我使用 Yaws 2.0.9.

FreeDNS 似乎有 shell 个变量的解决方案(https://gist.github.com/ammgws/381b4d9104c4e2b43b9210f33f03a15a). Similar hacks are given at https://github.com/acmesh-official/acme.sh/blob/master/dnsapi/,但我不知道如何使用这种方法。

对于要排除的每个子目录,将 .yaws_auth 文件添加到该子目录,内容为

{allow, all}.

并确保包含尾随 period/full 止损。还要确保 auth_skip_docrootyaws.conf 文件中设置为 false 或根本不设置。