方案
我正在编写一个小型运行状况检查模块(jar),允许用户通过JAX-RS REST服务检索信息。使用JAX-RS的其他应用程序可以导入此模块并从中受益。该模块将使用消费应用程序定义的JAX-RS实现。
问题
我希望能够在不同的端口上运行运行状况检查模块。这将允许我们通过防火墙轻松阻止对它的访问。 是否可以拥有服务器HTTP请求的多个端口?如果是这样,我可以轻松地将这些映射到不同的JAX-RS服务
如果我无法解决这个问题,我一直在考虑将一个小型http服务器嵌入到运行状况检查模块中。
答案 0 :(得分:0)
我不熟悉TC Server,但由于它基于Tomcat(AFAIK),您可以尝试为自定义端口(http://tomcat.apache.org/tomcat-6.0-doc/config/http.html)配置额外的HTTP Conector。问题是,您的JAX-RS端点可能允许两个端口上的传入请求,因此问题保持不变。然后,您还可以添加Valve(http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter)以根据其IP地址过滤客户端。所有这些都是服务器配置,而不是基于您的模块的东西。
但恕我直言,最干净,最安全的解决方案是使用身份验证机制保护您的JAX-RS端点(无论如何,您的数据都应通过SSL连接加密)。