How does this work? How do you host pixelfed.domain.com and mastodon.domain.com together in the same domain, with queries for “@user@domain.com” to the webfinger host path?
I’m other words, how does the querying application know which resource it needs? How do you know that a pixelfed instance will get the pixelfed resource versus the mastodon resource?
I can’t speak for those two services in particular, but I know that Matrix will check https://domain.com/.well-known/matrix/server to see what (sub)domain is responsible for domain.com. I suspect other services also use .well-known too.
Yes, they use a webfinger on the .well-known path.
The webfinger includes the subdomain. So the webfinger would be either @user@mastodon.domain.com or @user@pixelfed.domain.com, given your example.
I’ve thought that if some dev created a webfinger reverse proxy they would be the hero of the fediverse.
Can you eli5?
I don’t think I understand what you mean.
What would the reverse proxy do in this situation?
I think what they mean is a service to provide the webfinger response in a customizable manner. I know for me right now, I’m just using wildcards in nginx to handle it for the ActivityPub path, but it’s not really ideal because it won’t work for other activitypub services as far as I can tell.