概念

自定义域名后缀

假设,Mastodon 主节点域名 domain1.com,我在该域名下拥有一个用户 user1@domain1.com

配置自定义域名后缀支持后,也可以通过 user1@domain2.com 搜索到。该配置需要在主节点中设置 ALTERNATE_DOMAINS

自定义账号别名

假设,Mastodon 主节点域名 domain1.com,我在该域名下拥有一个用户 user1@domain1.com

配置自定义账号别名支持后,可以通过 user2@domain2.com 搜索到(即用户名和域名均可自定义)。

如果您想要一个属于自己的账号别名,但没有服务器的话,可以参考一下我的发电计划: https://afdian.net/a/willin

配置自定义域名后缀

1. 配置环境变量

首先检查 .env.production 环境变量中的 ALTERNATE_DOMAINS,配置正确,示例值:

LOCAL_DOMAIN=example1.com
ALTERNATE_DOMAINS=example2.com,example3.com

配置好重启 Mastodon 服务。

2.配置域名

以自定义域名 example2.com 为例,需要做 3 个 301 跳转的配置:

  • /.well-known/host-meta 跳转到 https://example1.com/.well-known/host-meta
  • /.well-known/webfinger 跳转到 https://example1.com/.well-known/webfinger
  • /.well-known/nodeinfo 跳转到 https://example1.com/.well-known/nodeinfo

传统配置

可以通过 Apache 或者 Nginx 的配置直接进行跳转。配置文件自行编写一下即可。

Serverless 配置

如果是 Serverless 服务,以 Cloudflare Pages 为例,为 example2.com 的应用创建 _redirects 文件:

/.well-known/host-meta* https://example1.com/.well-known/host-meta:splat 301
/.well-known/webfinger* https://example1.com/.well-known/webfinger:splat 301
/.well-known/nodeinfo* https://example1.com/.well-known/nodeinfo:splat 301

Cloudflare Redirect 跳转

可以在 Cloudflare Redirect Rules 中直接创建规则跳转。


免费有 10 条配额,照着上图创建 3 次即可。

设置自定义账号别名

如果您想要一个属于自己的账号别名,但没有服务器的话,可以参考一下我的发电计划: https://afdian.net/a/willin

该方法理论上来说并不需要在 example1.com 主站域名上进行额外配置。只需要自定义三个静态文件即可。

/.well-known/webfinger

{"subject": "acct:user1@example1.com","aliases": ["https://example1.com/user1","https://example1.com/users/user1"],"links": [{"rel": "http://webfinger.net/rel/profile-page","type": "text/html","href": "https://example1.com/@user1"},{"rel": "self","type": "application/activity+json","href": "https://example1.com/users/user1"},{"rel": "http://ostatus.org/schema/1.0/subscribe","template": "https://example1.com/authorize_interaction?uri={uri}"}]
}

依然可以用 Cloudflare Redirect Rules 进行方便的转发,示例:

/.well-known/host-meta

<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"><Link rel="lrdd" template="https://example1.com/.well-known/webfinger?resource=acct:user1@example1.com" />
</XRD>

/.well-known/nodeinfo

{"links": [{"rel": "http://nodeinfo.diaspora.software/ns/schema/2.0","href": "https://example1.com/nodeinfo/2.0"}]
}

进阶使用

使用该方法进写死了一个域名下的一个账号,如果需要多账号自定义域名的话。则需要使用动态接口来实现类似以上格式的响应。参考资料:

  • 主站讨论: https://github.com/mastodon/mastodon/issues/2668
  • 旧文档: https://guide.toot.as/guide/use-your-own-domain/

Mastodon 长毛象多租户:自定义域名、自定义账号别名相关推荐

  1. 利用GitHub搭建博客自定义域名失效问题解决方法

    自定义域名每次"hexo d"后会失效,参考网上的解决方法有两种 解决方法一: 只要在source 目录添加一个新文件CNAME就好 CNAME –不带任何后缀,这就是全称,里面写 ...

  2. Knative 实战:如何在 Knative 中配置自定义域名及路由规则

    作者 | 元毅 阿里云智能事业群高级开发工程师 当前 Knative 中默认支持是基于域名的转发,可以通过域名模板配置后缀,但目前对于用户来说并不能指定全域名设置.另外一个问题就是基于 Path 和 ...

  3. 七牛云注册创建oss并配置自定义域名

    1.登陆官网注册账号 有个人和企业两种,根据自己的情况进行注册 https://portal.qiniu.com/signup/choice 2.注册后要进行认证,不认证是没有免费空间给你使用的 3. ...

  4. 函数计算搭建 Serverless Web 应用(二)- 自定义域名

    简介 阿里云 函数计算(Function Compute) 是事件驱动的全托管计算服务,是阿里云的 Serverless 计算平台.基于函数计算构建应用,您无需管理服务器等基础设施,而是专注于应用逻辑 ...

  5. GitHub Pages自定义域名如何支持https

    就在前不久,GitHub Pages开放了自定义域名支持HTTPS.这意味着广大用GitHub Pages搭建个人博客的同学们有福了,不用再自己买证书或借用第三方服务,就能开启网址左边的小绿锁啦,非常 ...

  6. Github Page 个人主页——自定义域名

    原文地址 1. 前言 看本文前请确认已部署好基础的静态网页,参考上篇文章 [[Github Page 个人主页--项目部署]]. 部署好的个人网页若使用 username.github.io 访问,会 ...

  7. Laragon 自定义域名

    Laragon 软件在配置好完成以后 一般情况下 域名都是自动创建的 如何自定义域名呢 首先来看下我的根目录文件所在位置 所对应的配置文件目录(文件名称是对应的) 打开需要修改的配置文件编辑即可

  8. 【宇麦科技】腾xun云登场,群晖NAS自定义域名教程来啦~

    如今网盘的使用成本越来越高,更多的人选择搭建自己的家庭 NAS 服务器. NAS 可以用来做大容量存储.文件备份.文件下载.相册同步,甚至可以搭建网站.搭建自己的笔记以及邮件服务. NAS 一般都安装 ...

  9. CloudFlare Workers 设置使用自定义域名

    前言 因为昨天的workers.devDNS污染事件,CFworkers默认域名后缀workers.dev被全线DNS污染,所以CFworkers默认域名已经越来越不稳定了,我们可以使用自己的自定义域 ...

最新文章

  1. matlab处理图片建系,求MATLAB处理一张图片,把图片放入坐标系,建立类似于经纬度的网格...
  2. Centos7搭建Ngrok
  3. 设置自动会计时,常数位置提示APP-FND-00804错误,解决方法
  4. Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A Is it rated?
  5. 在Visual Studio 2010中创建多项目(解决方案)模板【一】
  6. matlab cg steihaug,截断共轭梯度法
  7. lm317扩流电路 (全集)
  8. 怎么看计算机的硬盘容量,Win7怎么看硬盘大小 如何看电脑硬盘大小
  9. 小眼睛适合大框还是小框眼镜_近视眼镜大镜框好还是小镜框好?
  10. java-assured,如何使用Rest-Assured java中的证书进行HTTPS GET调用
  11. jena java_对Jena的简单理解和一个例子
  12. Android学习日记(yzy): Accessibility辅助功能
  13. 好产品是如何炼成的?
  14. sqlite3错误原因
  15. Axon 4.4 中文版文档(十四)
  16. elementui自定义进度条形状
  17. fluent日志文件提交服务器计算,利用云服务器计算fluent
  18. psv 进php,php - 使用htaccess将网站http重定向到lapsvel中的https - SO中文参考 - www.soinside.com...
  19. 如何设置计划任务程序 每6小时运行一次_磁盘碎片整理程序 DiskTrix UltimateDefrag 6.0.62.0 中文汉化版...
  20. 如何在Ubuntu 20.04上设置Mattermost

热门文章

  1. 更好玩的QQ空间新版即将亮相(转)
  2. npm与cnpm相互切换
  3. 【hihoCoder】#1082 然而 我 早就看穿了一切
  4. 高速铁路扣件系统的类型及应用
  5. 炸弹人-Bomber Man
  6. 《亮剑》前传《新亮剑》
  7. 对计算机的硬盘进行高级格式化,磁盘的低级格式化、快速格式化、高级格式化有什么区别?...
  8. Linux内核学习笔记——Crypto基础框架
  9. ubuntu镜像阿里云更新源地址
  10. js判断手机是否安装app,有就打开app,没有就跳下载页