【问题标题】:Mapping different ports to Java servlets将不同的端口映射到 Java servlet
【发布时间】:2013-12-18 10:17:27
【问题描述】:

场景

我正在编写一个小型健康检查模块 (jar),它允许用户通过 JAX-RS REST 服务检索信息。使用 JAX-RS 的其他应用程序可以导入此模块并从中受益。该模块将使用消费应用程序定义的 JAX-RS 实现。

问题

我希望能够在不同的端口上运行健康检查模块。这将使我们能够轻松地阻止通过防火墙对其进行访问。 是否可以有多个端口来处理 HTTP 请求?如果是这样,我可以轻松地将这些映射到不同的 JAX-RS 服务

如果我无法解决这个问题,我一直在考虑在健康检查模块中嵌入一个小型 http 服务器。

【问题讨论】:

  • 你使用的是哪个服务器?
  • 我正在使用 TC 服务器。

标签: java web-services port jax-rs


【解决方案1】:

我不熟悉 TC Server,但由于它基于 Tomcat (AFAIK),您可以尝试为您的自定义端口 (http://tomcat.apache.org/tomcat-6.0-doc/config/http.html) 配置一个额外的 HTTP 连接器。那么问题是您的 JAX-RS 端点可能允许两个端口上的传入请求,所以问题仍然存在。然后,您还可以添加 Valve (http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter) 以根据 IP 地址过滤客户端。不过,所有这些都是服务器配置,而不是基于您的模块。

但是恕我直言,最干净和最安全的解决方案是使用身份验证机制保护您的 JAX-RS 端点(无论如何,您的数据都应该通过 SSL 连接加密)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2017-09-12
    • 2023-03-21
    • 2015-07-17
    • 2022-12-09
    相关资源
    最近更新 更多