Настройка виртуальных хостов в Tomcat 7 для HP Fortify

У меня есть внутреннее веб-приложение, размещенное на Tomcat 7, работающее на Windows Server 2008 R2. Пользователи получают доступ к сайту по этому URL-адресу: http://servername:8080/ssc. Я бы предпочел, чтобы пользователи заходили на сайт отсюда: http://fortify

По умолчанию Tomcat использует порт 8080:

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

Моя первоначальная мысль состояла в том, чтобы обновить это, чтобы использовать порт 80, или было бы лучше добавить разъем?

Или было бы еще лучше иметь вторую службу, как указано здесь?


person Steve L.    schedule 24.11.2015    source источник
comment
Упомянутая ссылка касается запуска двух или более экземпляров Tomcat или работы на другом порту, тогда как вы хотите запустить приложение Tomcat без порта. Я настоятельно рекомендую использовать коннектор mod_jk для достижения этой цели.   -  person Ghayel    schedule 25.11.2015
comment
этот serverfault.com/questions/256195/ может вам помочь. эта ссылка также полезна anchor.com.au/hosting/dedicated/   -  person Ghayel    schedule 25.11.2015
comment
Разве mod_jk не требует веб-сервера Apache? Я не против его установки, но для своей реализации у меня есть только Tomcat 7.   -  person Steve L.    schedule 25.11.2015


Ответы (1)


Благодаря руководству Гайеля у меня теперь все работает! Вот как это сделать:

  1. Установить Апач
  2. Установите коннектор mod_jk в папку модулей Apache.
  3. Создайте файл work.properties с этими строками и поместите его в папку conf Tomcat: worker.list=fortify worker.fortify.port=8009 worker.fortify.host=fortifytest worker.fortify.type=ajp13

  4. Измените Apache httpd.conf, добавив следующие строки в самый конец файла: LoadModule jk_module modules/mod_jk.so JkWorkersFile "c:/apache/tomcat/conf/workers.properties" JkLogFile "c:/apache/tomcat/conf/from_apache_mod_jk.log" JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" <VirtualHost fortifytest:80> ServerName fortifytest RewriteEngine on RewriteRule ^/$ /ssc [PT,L] JkMount /* fortify ErrorLog "logs/fortifytest-error.log" CustomLog "logs/fortifytest-access.log" common </VirtualHost>

  5. Перезапустите Tomcat, затем перезапустите Apache

Теперь я могу использовать http://fortifytest вместо http://servername:8080/ssc.

РЕДАКТИРОВАТЬ: здесь очень важен флаг PT (сквозной). Без этого флага правило перезаписи не работало должным образом для моего сценария.

person Steve L.    schedule 04.12.2015