<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition]]]></title><description><![CDATA[<p dir="auto">Curious if each tenant can support having their own domain. In my can I can see using the community edition across multiple apps I have been working on, but would like, if not need, to support having something like the following:<br />
<a href="http://auth.x.com" rel="nofollow ugc">auth.x.com</a><br />
<a href="http://login.y.com" rel="nofollow ugc">login.y.com</a><br />
<a href="http://auth.z.ca" rel="nofollow ugc">auth.z.ca</a></p>
<p dir="auto">Where x, y, and z are different tenant TLDs. I see in the documentation that there is a "issuer" domain and theme, but I'm not sure that is an answer to this question?</p>
]]></description><link>https://fusionauth.io/community/forum/topic/19/can-different-tenants-have-their-own-custom-domains-self-hosted-community-edition</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 08:40:44 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/19.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Apr 2020 20:15:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Tue, 25 Feb 2025 15:05:13 GMT]]></title><description><![CDATA[<p dir="auto">i like it</p>
]]></description><link>https://fusionauth.io/community/forum/post/7864</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/7864</guid><dc:creator><![CDATA[margozalizo]]></dc:creator><pubDate>Tue, 25 Feb 2025 15:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Tue, 25 Jul 2023 17:13:41 GMT]]></title><description><![CDATA[<p dir="auto">As of July 25, 2023 we now support Unlimited Custom Domains for FusionAuth Cloud! You can read more in this <a href="https://fusionauth.io/blog/2023/07/25/introducing-unlimited-custom-domains-for-fusionauth-cloud" rel="nofollow ugc">post</a>, on how to add a custom domain.</p>
]]></description><link>https://fusionauth.io/community/forum/post/6343</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/6343</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Tue, 25 Jul 2023 17:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Wed, 14 Oct 2020 10:17:50 GMT]]></title><description><![CDATA[<p dir="auto">I've been hacking with this for a long time, and whilst I think nginx can technically do it, it's likely to be over-complicated and problem-prone (see the comments about "ifs are evil" in the nginx doco).</p>
<p dir="auto">Instead, I've used Apache. It's still something of a project to do, but <code>RewriteCond</code> and <code>RewriteRule</code> allow for the permutations needed. Apache has some annoying defaults with regards to setting <code>X-Forwarded-*</code> headers which we have to overcome. Apparently setting <code>X-Forwarded-Host</code> and/or <code>X-Forwarded-Server</code> trips up FusionAuth in some way.</p>
<p dir="auto">However, I think I've got this working (or rather, I've got it working as well as I can see, and my in-development app can log in too). I've raised a PR on fusionauth-contrib: <a href="https://github.com/FusionAuth/fusionauth-contrib/pull/2" rel="nofollow ugc">https://github.com/FusionAuth/fusionauth-contrib/pull/2</a>. There may be more edge cases for API users I haven't considered here - comments welcome.</p>
<p dir="auto">I've had a look at the github issue <a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/20">@dan</a> posted, and in fact a few others. They all seem to be pretty worthwhile. The hoops I've jumped through here are excessive, and the differences in headers set by Nginx and Apache also tripped me up - all stuff that's not clearly documented or described in FusionAuth. There's definitely something to do here that would really help all of this. I'm not yet sure if the existing issues will solve this, or if another needs raising.</p>
<p dir="auto">Either way, I hope my PR will save someone else the 1-2 days I've spent hacking about with this!? Thanks all for your help getting this far.</p>
]]></description><link>https://fusionauth.io/community/forum/post/1436</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/1436</guid><dc:creator><![CDATA[ralph]]></dc:creator><pubDate>Wed, 14 Oct 2020 10:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Tue, 13 Oct 2020 03:18:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/341">@ralph</a></p>
<p dir="auto">You might want to check out this Github issue (and vote it up, too): <a href="https://github.com/FusionAuth/fusionauth-issues/issues/632" rel="nofollow ugc">https://github.com/FusionAuth/fusionauth-issues/issues/632</a></p>
<p dir="auto">As it seems to be similar to what you are trying to do.</p>
<p dir="auto">It looks like changing request parameters doesn't seem too tough, but maybe I'm missing something? Here's an SO answer with an example: <a href="https://stackoverflow.com/questions/34254155/how-to-change-request-parameters-before-passing-request-to-nginx-reverse-proxy-s" rel="nofollow ugc">https://stackoverflow.com/questions/34254155/how-to-change-request-parameters-before-passing-request-to-nginx-reverse-proxy-s</a></p>
]]></description><link>https://fusionauth.io/community/forum/post/1428</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/1428</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Tue, 13 Oct 2020 03:18:07 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Mon, 12 Oct 2020 21:21:46 GMT]]></title><description><![CDATA[<p dir="auto">I've been looking at something similar here too. I'd like to ensure that hitting up <code>auth.site1.com</code> can only "see" the "site1" tenant. Likewise, <code>auth.site2.com</code> can only get to the "site2" tenant.</p>
<p dir="auto">I've got some distance with this. When I hit up the root (or in fact any URL) I can have Nginx add in a <code>tenantId=xxx</code> query string parameter. This seems to work, in so much as FusionAuth returns the correct tenant login screen (confirmed by styling changes to each tenant). As Nginx is doing this out of the reach of the user, there's no way a user could get to the wrong FusionAuth tenant - although there are some things a user can do which I'd rather they couldn't.</p>
<p dir="auto">There is one problem I can't seem to solve though. That is, if you hit up the root of <code>auth.site1.com</code>, you get a redirect to <code>/login</code>. That then redirects to <code>oauth2/authorize</code>, along with some cookies and a query string which includes the <code>client_id</code>.</p>
<p dir="auto">The problem I have is that the <code>client_id</code> returned always seems to be the FusionAuth one (ie. the 'root') - even though it's not in the correct tenant. This leads to a confusing outcome because you can't log on with the users in the tenant. If I correct the <code>client_id</code>, then all is well.</p>
<p dir="auto">It seems to only solution is to have Nginx intercept the query string, correct the <code>client_id</code> and then pass the request along (additionally including the <code>tenantId=xxx</code> query string variable). This is somewhat at the edge of what an Nginx reverse proxy can do, so it's looking like that FA redirect with the wrong <code>client_id</code> might just be the end of this endeavour (unless maybe I add in LUA into nginx or something similar).</p>
]]></description><link>https://fusionauth.io/community/forum/post/1427</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/1427</guid><dc:creator><![CDATA[ralph]]></dc:creator><pubDate>Mon, 12 Oct 2020 21:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Mon, 27 Apr 2020 15:40:30 GMT]]></title><description><![CDATA[<p dir="auto">Yup, FusionAuth has no issue responding to requests from a different domain.</p>
]]></description><link>https://fusionauth.io/community/forum/post/49</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/49</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Mon, 27 Apr 2020 15:40:30 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Sat, 25 Apr 2020 01:27:34 GMT]]></title><description><![CDATA[<p dir="auto">So would FA have an issue responding to requests from a domain different than its root domain (do you even set a root domain)?</p>
<p dir="auto">Setting up NGINX in front of it was going to be the path I took no matter what, I just figured it would want a specific root domain or there would be a way to set root domains. My app stack requires something like the following:</p>
<p dir="auto">Client/app -&gt; App load-balancer (NGINX/Traefik) (SSL termination) -&gt; Internal services</p>
<p dir="auto">If FA isn't expecting requests to come from a specific domain, then I guess this would work fine from what you mentioned.</p>
]]></description><link>https://fusionauth.io/community/forum/post/42</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/42</guid><dc:creator><![CDATA[firrae]]></dc:creator><pubDate>Sat, 25 Apr 2020 01:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Can Different Tenants Have Their Own Custom Domains [Self Hosted - Community Edition] on Fri, 24 Apr 2020 20:58:17 GMT]]></title><description><![CDATA[<p dir="auto">Hiya.</p>
<p dir="auto">There is currently no support for explicitly assigning a domain to a tenant. If this is an important feature for you, please file a <a href="https://github.com/FusionAuth/fusionauth-issues/issues" rel="nofollow ugc">GitHub issue</a>.</p>
<p dir="auto">Some alternatives:</p>
<ul>
<li>you could run multiple FA instances, with each instance having only one tenant. This means more management overhead.</li>
<li>You might be able to make it work by installing nginx or another proxy in front of FusionAuth. Then you could have <code>foo.com</code> be forwarded to <code>fusionauth/oauth2/authorize?tenantId=A</code> and <code>bar.com</code> -&gt; <code>fusionauth/oauth2/authorize?tenantId=B</code>. For API clients you could use set the tenant header (<code>X-FusionAuth-TenantId</code>) in the proxy based on the origin hostname.</li>
</ul>
<p dir="auto">If you do the second, I'd love to see the proxy config; you could even share it in our contrib project: <a href="https://github.com/FusionAuth/fusionauth-contrib" rel="nofollow ugc">https://github.com/FusionAuth/fusionauth-contrib</a></p>
<p dir="auto">Hope this helps.</p>
]]></description><link>https://fusionauth.io/community/forum/post/41</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/41</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Fri, 24 Apr 2020 20:58:17 GMT</pubDate></item></channel></rss>