【问题标题】:How to implement an (application) proxy in Java on Tomcat?如何在 Tomcat 上用 Java 实现(应用程序)代理?
【发布时间】:2017-02-05 21:08:57
【问题描述】:

为了使应用程序与我们的 SSO 实现兼容,我需要处理一个 HTTP 请求(添加一些 HTTP 标头),然后将该请求“转发”到另一个 Web 服务器(第 3 方 Web 服务器)。

[Browser]-->[MyProxyApp on Tomcat]-->[Another Webserver]

Tomcat 是否能够将请求“转发”(反向代理)到另一台服务器?

我能想到的最简单的方法是实现 HTTPClient 的 servlet,但我希望有一个更简单的解决方案。

“Noodle”似乎可以胜任,但考虑到它的年代,我不确定它是否 100% 兼容当前的 Web 标准(websockets、longpolling 等)

【问题讨论】:

  • 不使用 Tomcat 或 Servlet。您需要编写 Sockets 代码。使用 Servlet 会增加太多延迟,即使您可以让它工作,这是有问题的。或者使用 Apache HTTPD,这使得它变得微不足道。
  • 是的,我会使用 apache,但我有一些需要运行的 Java 代码,我不想将其放入 apache 模块中。延迟不是问题 - 我的意思是它的性能预计不会很好。

标签: java tomcat proxy


【解决方案1】:

有一个活跃的 github 项目已经存在了一段时间:

https://github.com/mitre/HTTP-Proxy-Servlet

它是作为基于 HttpClient 的 Java Servlet 实现的,可能正是您所想的,但在 Maven 存储库中维护和可用

https://mvnrepository.com/artifact/org.mitre.dsmiley.httpproxy/smiley-http-proxy-servlet

【讨论】:

    猜你喜欢
    • 2013-02-03
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2013-04-27
    • 1970-01-01
    • 2012-07-22
    相关资源
    最近更新 更多