如何在Plone中创建以点开头的.well-known文件夹用于Bluesky验证
解决Plone中创建.well-known文件夹用于Bluesky验证的问题
Plone默认会过滤以点开头的文件夹ID,直接创建时会自动移除前缀点,导致访问URL不符合要求。下面是几种可行的解决方法:
方法1:通过Zope管理界面(ZMI)创建底层文件夹
Plone后台UI做了限制,但ZMI作为底层管理界面可以绕开这个规则:
- 访问你的Plone站点的ZMI地址:
https://[你的域名]/manage,用管理员账号登录 - 在左侧导航找到Plone站点的根目录(通常是你的站点名称),点击进入
- 点击顶部的「添加」按钮,选择「Folder」类型
- 在「ID」字段输入
.well-known,标题可填任意内容(比如「Well-Known验证目录」),然后点击「添加」 - 进入刚创建的
.well-known文件夹,点击「添加」→「File」,ID设为atproto-did,在「内容」区域粘贴你的Bluesky DID值(格式如did:plc:xxxxxxxxx),保存即可
方法2:修改Plone的ID验证规则,允许点开头的目录
调整Plone的配置,让后台支持创建点开头的文件夹:
- 登录Plone后台,进入「站点设置」→「安全」(不同Plone版本可能在「高级设置」下)
- 找到「有效的ID」选项,默认正则表达式禁止开头的点,将其修改为允许点作为开头:
原规则可能是:^[A-Za-z][A-Za-z0-9_\-]*$
修改为:^[A-Za-z\.][A-Za-z0-9_\-\.]*$ - 保存设置后,回到Plone内容管理界面,就可以直接创建
.well-known文件夹,不会再被自动去掉前缀点
方法3:通过Web服务器反向代理直接返回验证内容(无需修改Plone配置)
如果不想改动Plone内部配置,可以在Apache或Nginx层直接映射验证URL:
Nginx配置示例
在你的站点Nginx配置块中添加:
location /.well-known/atproto-did { return 200 "did:plc:xxxxxxxxx"; # 替换为你的实际Bluesky DID add_header Content-Type text/plain; }
Apache配置示例
在你的站点Apache配置或.htaccess文件中添加:
RedirectMatch 200 ^/.well-known/atproto-did$ "did:plc:xxxxxxxxx"
修改完成后重启Web服务器,访问https://[你的域名]/.well-known/atproto-did就会直接返回DID内容,满足Bluesky的验证要求
内容的提问来源于stack exchange,提问作者Henrique
相关产品推荐
相关产品推荐

