1

我有三个 Web 服务(来自第三方供应商的 WAR 文件_托管在 Tomcat 中。每个 Web 服务都有不同的 URL(例如 website1.com、website2.com、website3.com)以及我的研究和 POC 工作已经做到了,这可以通过使用虚拟主机来实现。

两个问题: 1. 我想限制对其中两个 Web 服务的访问,使它们只能通过内部 IP 地址访问。如何才能做到这一点?2. 每个 Web 服务都有一个状态检查方法,可以运行该方法来检查服务是否正常工作(它轮询数据库并在 Web 服务上运行一些方法)。当它检查 Web 服务上的方法时,它使用 localhost 来调用它。但是,我的 Tomcat 配置设置为使用主机名,因此失败。如何在仍然将每个 Web 服务绑定到主机名的同时解决这个问题?

这是 Tomcat server.xml 文件中的主机配置:

  <Host name="website1.com"  appBase="adminapps" unpackWARs="true" autoDeploy="true">
  </Host>

  <Host name="website2.com"  appBase="packagingapps" unpackWARs="true" autoDeploy="true">
  </Host>

  <Host name="website3.com"  appBase="fulfillmentapps" unpackWARs="true" autoDeploy="true">
  </Host>
4

1 回答 1

1

对于第一部分,请执行以下操作之一:

  • 设置防火墙规则以限制对 IP 地址白名单的访问。
  • 一个简单的 HTTP 模块就可以工作。只需硬编码(或从配置)允许的 IP/主机并拒绝所有其他。

对于第二部分:

  • 只需更改为:

    <Host name="http://localhost:8080/yourWebName appBase="packagingapps" unpackWARs="true" autoDeploy="true">
    </Host>

于 2012-07-10T07:50:24.557 回答