Назад | Перейти на главную страницу

Что такое Apache Tomcat, эквивалент виртуального хоста Apache httpd?

В Apache httpd, если я хочу связать веб-приложение с доменным именем, я создаю виртуальный хост.

Есть ли в Apache Tomcat эквивалентный метод, если я хочу связать веб-приложение?

Виртуальный хостинг - это функция протокола HTTP / 1.1, предоставляемая Host Заголовок HTTP RFC 7230, 5.4. Каждый современный веб-сервер поддерживает его, но директивы конфигурации имеют немного разные имена и форматы:

  • HTTP-сервер Apache (VirtualHost)

    <VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot "/var/www/examplecom"
    </VirtualHost>
    
  • Nginx (Серверные блоки)

    server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/examplecom;
        location / { 
            try_files $uri $uri/ =404; 
        }
    }
    
  • IIS (Привязка <binding>)

    <site name="Example" id="2">
       <application path="/" applicationPool="Example">
          <virtualDirectory path="/" physicalPath="C:\inetpub\examplecom" />
       </application>
       <bindings>
          <binding protocol="http" bindingInformation="*:80:example.com" />
          <binding protocol="http" bindingInformation="*:80:www.example.com" />
       </bindings>
    </site>
    
  • Apache Tomcat (<Host />)

    <Engine name="Catalina" defaultHost="example.com">
        <Host name="example.com" appBase="webapps_examplecom">
            <Alias>www.example.com</Alias>
        </Host>
    </Engine>
    
  • Lighttpd ($HTTP["host"] матч на хосте фактически наиболее близок к протоколу)

    HTTP["host"] =~ "^(|www\.)example\.com$" {
        server.document-root = "/var/www/examplecom"
    }