Tomcat Server.xml中的动态通配符设置(非www)

时间:2017-02-02 12:31:46

标签: java apache tomcat server server.xml

对于example.com, appBase

a) www.example.com & example.com /home/example/public_html/e - 一个wordpress网站。

b)任何其他 * .example.com /home/example/public_html - 一个Java网络应用。

为实现这一目标,在 server.xml 中,我维护以下内容

a)对于www& example.com

<Host name="example.com" appBase="/home/example/public_html/e" ...>
<Alias>www.example.com</Alias>
...
</Host>

b)对于其他通配符,以下是 NOT WORKING

<Host name="*.example.com" appBase="/home/example/public_html" ...>
...
</Host>

因此,作为解决方法,每当a,b,c等由客户动态注册时,我都必须手动添加。每次都需要重启Tomcat。

<Host name="*.example.com" appBase="/home/example/public_html" ...>
<Alias>a.example.com</Alias>
<Alias>b.example.com</Alias>
<Alias>c.example.com</Alias>    
...
</Host>

我的问题

由于通配符是在客户端注册时动态生成的,因此如何在server.xml中动态设置,以便手动输入&amp; 可以避免Tomcat重启

1 个答案:

答案 0 :(得分:0)

我知道目前唯一的方法是在server.xml中指定默认主机

<Engine name="Catalina" defaultHost="default-host">

然后在文件中,您可以指定要转到特定主机的所有请求

<Host name="example-site">
        <Context path="" docBase="/home/example/public_html/e" />
        <Alias>example.com</Alias>
        <Alias>www.example.com</Alias>
      </Host>

      <Host name="registered-customers">
        <Context path="" docBase="/home/example/public_html" />
        <Alias>default-host</Alias>
      </Host>
祝你好运:)