2012-07-10 103 views
1

我有三个Web服务(WAR files_从在Tomcat的托管在第三方供应商的每个Web服务将有一个不同的URL(如website1.com,website2.com,website3.com)和从我所做的研究和POC工作,这可以通过使用虚拟主机来实现Tomcat配置 - 多台主机

两个问题: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> 

回答

1

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

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

对于第二部分:

  • 只是更改为:

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

+0

感谢。如果我在第二部分中提到了您提到的更改,那么当有人访问website2.com时,如何将流量导向正确的主机?上面不会限制只能访问本地主机吗?我想要能够从website2.com和本地主机 – Tariq 2012-07-10 08:04:34

+0

@Tariq打网址我不认为你可以同时拥有:本地和独立主机。无论如何,当你只是限制了内部IP地址为您服务的机会背后有什么使它成为一个域名主机像website2.com点? – GingerHead 2012-07-11 14:58:01