Как сделать, чтобы URL указывал на экземпляр Tomcat?

Извините, если этот вопрос не имеет смысла (здесь нет эксперта), но я понимаю, что tomcat прослушивает порт 8080, а URL-адреса обычно адресованы 80. Есть ли способ сообщить DNS, что URL-адреса должны указывать на 8080? Или как мне решить эту проблему?

4 ответа

Решение

DNS ничего не знает о портах. Если вы хотите, чтобы tomcat прослушивал порт 8080, у вас есть несколько вариантов. Первый заключается в использовании номера порта в URL

http://example.com:8080/

Если вам это не нравится, вы можете использовать свой веб-сервер в качестве прокси-сервера порта, например, в Apache вы можете использовать mod _ proxy

<VirtualHost *:80>
        ServerName      example.com
        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                allow from all
        </Proxy>
        ProxyPreserveHost On
        ProxyPass / http://example.com:8080/
        ProxyPassReverse / http://example.com:8080/
        ProxyErrorOverride Off
</VirtualHost>

Это сделано http://the.site.invaild:8080/,

Не возможно дать порт в DNS. DNS только сопоставляет имена с IP-адресами. Но нет портов.

Я думаю, что лучше сделать так, чтобы ваш кот слушал порт 80. Вы можете сделать это, если нет другого сервера, слушающего порт 80. Для этого вы можете отредактировать server.xml.

Изменить следующим образом:

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Теперь вы можете попробовать http://example.com/.This правильно разрешит ваш экземпляр tomcat. Поскольку порт http по умолчанию - 80.

Может быть возможность решить эту проблему через DNS: SRV-Records

С помощью SRV-Records вы в основном говорите DNS ответить на вопрос типа "где httpd с example.org"? И DNS отвечает с IP-адреса И номера порта.

Хотя я не знаю, запрашивают ли клиенты эту информацию или браузер просто выполняет поиск A-Record и запрашивает веб-сайт с данного IP-адреса, используя порт 80, возможно, стоит попробовать, если вы хотите сделать это с DNS.

В противном случае: разрешите эфиру Tomcat прослушивать порт 80 или перенаправить 8080 на Tomcat через mod_proxy Apache.

Другие вопросы по тегам