Java Tomcat虚拟主机&;通配符dns匹配

Java Tomcat虚拟主机&;通配符dns匹配,java,jakarta-ee,tomcat,tomcat7,Java,Jakarta Ee,Tomcat,Tomcat7,我已经创建了一个应用程序,它需要接受通配符dns并使用该通配符值请求数据库。我尝试为自己模拟一个虚拟环境,以实现我想要的: 1) 在我的Linux操作系统中,我更改了/etc/hosts并添加了以下行: 127.0.0.1 test-domain.com 127.0.0.1 mehdi.test-domain.com 2) 我更改了tomcat server.xml文件,如下所示: <Host name="test-domain.com" appBase="webapp

我已经创建了一个应用程序,它需要接受通配符dns并使用该通配符值请求数据库。我尝试为自己模拟一个虚拟环境,以实现我想要的:

1) 在我的Linux操作系统中,我更改了/etc/hosts并添加了以下行:

127.0.0.1   test-domain.com
127.0.0.1   mehdi.test-domain.com
2) 我更改了tomcat server.xml文件,如下所示:

<Host name="test-domain.com" 
    appBase="webapps/ROOT" 
    unpackWARs="true" 
    autoDeploy="true"
    xmlValidation="false" 
    xmlNamespaceAware="false">
    <Alias>www.test-domain.com</Alias>
    <Context path="" docBase="."/>
</Host>

<Host name="*.test-domain.com" 
        appBase="webapps/ROOT" 
        unpackWARs="true" 
        autoDeploy="true"
        xmlValidation="false" 
        xmlNamespaceAware="false">
        <Alias>*.test-domain.com</Alias>
        <Context path="" docBase="."/>
</Host> 

皈依


问题3:是否可以只使用第二个Q1:使用request.getServerName()

问题2:您可以使用URLRewite筛选器或类似工具

问题3:不支持AFAIK通配符,因此您需要接收所有请求的单个主机名=“localhost” 另见