【问题标题】:Set up Virtual Hosts in Tomcat 7 for HP Fortify在 Tomcat 7 中为 HP Fortify 设置虚拟主机
【发布时间】:2016-02-27 10:32:42
【问题描述】:

我有一个在 Windows Server 2008 R2 上运行的 Tomcat 7 托管的内部 Web 应用程序。用户通过此 URL 访问该站点:http://servername:8080/ssc。我宁愿用户从这里访问该站点:http://fortify

Tomcat默认使用8080端口:

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

我最初的想法是更新它以使用端口 80 还是添加一个连接器会更好?

或者像here提到的那样提供第二个服务会更好吗?

【问题讨论】:

  • 引用的链接是关于运行两个或多个 Tomcat 实例或在不同端口上运行,而您想在没有端口的情况下运行 Tomcat 应用程序。我强烈建议使用 mod_jk 连接器来实​​现这个目标。
  • 这个serverfault.com/questions/256195/… 可以帮助你。这个链接也很有帮助anchor.com.au/hosting/dedicated/…
  • mod_jk 不需要 Apache Web 服务器吗?我不反对安装它,但对于我的实现,我只有 Tomcat 7。

标签: tomcat tomcat7 virtualhost fortify


【解决方案1】:

感谢 Ghayel 的指导,我现在可以正常工作了!操作方法如下:

  1. 安装 Apache
  2. 将 mod_jk 连接器安装到 Apache 模块文件夹中
  3. 使用这些行创建一个workers.properties 文件并将其放入Tomcat conf 文件夹中: 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(直通)标志在这里非常重要。如果没有该标志,重写规则在我的场景中无法正常运行。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 2013-05-27
    • 2011-11-05
    • 2014-05-28
    • 2012-08-02
    • 2011-09-20
    • 2013-01-30
    • 2014-09-08
    • 1970-01-01
    相关资源
    最近更新 更多