Tomcat Виртуальный хост и Wildcard DNS соответствия

1

Я создал приложение, которое должно принять wildcard 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) Я разворачиваю свой файл войны проекта "Root.war" в папку $ {TOMCAT}/webapps/ROOT

теперь, когда я прошу "www.test-domain.com", я вижу домашнюю страницу в Интернете, и я хочу, когда я набираю этот URL-адрес "mehdi.test-domain.com", я получаю mehdi из URL-адреса и что-то делаю с ним и показать страницу mehdi для моих пользователей.

Вопрос 1: Как я могу получить значение подстановки в моем приложении?

Вопрос 2: Возможно ли, что tomcat конвертирует URL-адрес запроса во что-то еще во время выполнения и передает его в приложение (мне нужно значение подстановочного знака ex: mehdi)?

http://mehdi.test-domain.com CONVERT TO http://test-domain.com/mehdi

Вопрос 3: Возможно ли иметь только второе определение <Host name =... и удалить первый? как я могу справиться с этим в своем приложении?

Теги:
tomcat
java-ee
tomcat7

1 ответ

1

Q1: используйте request.getServerName()

Q2: вы можете использовать фильтр UrlRewrite или аналогичный

Q3: групповые символы AFAIK не поддерживаются, поэтому вам потребуется одиночное имя хоста = "localhost", которое будет получать все запросы. См. Также Как размещать поддомены случайных или подстановочных символов на Tomcat и Java

Ещё вопросы

Сообщество Overcoder
Наверх
Меню