我们有一个 Java 应用程序,将安装到 tomcat6 中。我们的安全团队不允许 Tomcat 面向公众,因此我必须接收发往 IIS 7.5 的 https 流量,并使用 URL 重写将流量引导至 Tomcat6(使用 URL 重写模块 2)。IIS 7.5 和 Tomcat6 都在同一台服务器上。
我的问题如下:
我可以将 https 流量从 IIS7.5 重定向到 Tomcat6 吗?
如果是的话我该如何保持它加密???(我已经在外部网络路由器和 IIS7.5 站点之间设置了 ssl)
我说得对吗?从 IIS7.5 接收到 Tomcat 的流量将不会返回到 IIS7.5,而是会被发送回客户端地址,并且需要与将其连接到公共网络的设备建立 https 连接?
按照第 3 条,当 java 应用程序响应 https 流量时,我相信它会直接响应客户端,即外部网络设备 - 我如何在 tomcat 和网络设备之间设置 ssl,因为我相信这将是一个新的连接????
任何帮助将不胜感激
干杯,杰夫
答案1
谢谢您的回复,以下是我对您的反馈的回复。
1) 是的,我正在通过端口 8080 将流量重定向到 tomcat。Tomcat 位于同一台服务器上。我已经安装了 IIS 的应用程序请求路由模块并启用了代理设置。然后我使用 URL 重写来执行此操作,所以现在一切都正常了。谢谢提供信息。
2)我已经在与 IIS 7.5 相同的服务器上安装了 tomcat,因此决定不需要尝试将 SSL 流量从 IIS 7.5 传递到 tomcat,因为它们都在服务器内部。
3)由于我正在使用应用程序请求路由流量的代理组件,因此应该通过 IIS 7.5 发送。
4)我相信它应该通过IIS7.5从tomcat响应到客户端,因为它是代理。
再次感谢你的帮助。
非常感激。
干杯,杰夫
答案2
1)无论基础技术如何,服务器之间都可以进行重定向,我的意思是您可以在 IIS 上轻松配置重定向路由,并使其指向任何 URL,无论该 URL 是基于 java 还是 php。
考虑到它在同一台服务器上,您必须小心 URL,并放置目标 Web 服务器指向的正确端口,我猜对于 tomcat 您将使用 8080。
2)让我看看我是否理解得好:您将在端口 443 上获得传入连接,然后将此代码重定向到 Tomcat 中的端口 8080(我的假设)。在这种情况下,您应该在该特定端口上启用 ssl,或者将所有重定向到为 tomcat 配置的给定 ssl 端口。
3)如果您将 IIS7.5 上所有必需的 URL 正确映射到 Tomcat,则浏览器没有理由重定向到以前的 Web 服务器。
4)理论上应该将回复直接返回给客户端;
顺便说一句,请举一个你正在做的类似事情的例子。
这是一个在 IIS 上运行的 asp 应用程序,它将所有链接重定向到运行 apache+php 的新站点。
重写规则文本1/文本2.aspx http://新服务器/text1/text2 [左,右=301]
希望这个对你有帮助