我的 Mac 的 SpringBoot 中的通配符子域

Wildcard Subdomain In SpringBoot For my Mac

我正在创建一个 Web 应用程序,其中将有多个子域。每个客户端都将拥有自己的子域。每个子域都有单独的数据库。例如,我有一个客户端 abc,那么它的子域将是 abc.mydomain.com,它的数据库名称将是 abc.

现在这个应用程序是在 spring 启动时创建的。在这里我想配置通配符子域。那么如何在 spring boot.xml 中配置它呢?为此,我尝试了一些解决方案。

我更改了 /etc/hosts 并在其中添加了一个域名条目,如下所示

127.0.0.1 www.mydomain.com

但是现在我想要这个子域。我该怎么做。

我在某处看到我需要配置 server.xml 或 tomcat。在 server.xml 我添加了下面一行。

<Host name="www.mydomain.com"  appBase="webapps" unpackWARs="true"
autoDeploy="true">
    <Alias>*.mydomain.com</Alias>
</Host>

你能帮我解决这个问题吗?如果您需要更多详细信息,请告诉我。

经过几天的努力,我找到了解决这个问题的方法。因为我在 localhost 中为通配符子域工作。因此,为此我需要使用一个名为 dnsmasq 的外部软件,我执行了以下命令在我的笔记本电脑上安装 dnsmasq

brew install dnsmasq

在我的笔记本电脑上安装 dnsmasq 后,我需要配置它。为此,我必须更新 dnsmasq。就我而言,它位于

/usr/local/etc/dnsmasq.conf

在这个文件中,我必须添加几行来配置通配符子域。线路如下。

# Route all *.mydomain.com addresses to localhost
address=/mydomain.com/127.0.0.1
# Don't read /etc/resolv.conf or any other configuration files.
no-resolv
# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv

接下来我需要重新启动我的 dnsmasq 服务。命令如下。

sudo brew services start dnsmasq

最后您需要在 /etc/resolver 处创建一个文件 mydomain.com(如果不存在则创建文件夹解析器)。在 mydomain.com 文件中添加以下行。

nameserver 127.0.0.1

这是在您的 mac os.

中设置 swildcard 子域的完整配置

参考可以关注this link