1

我有一个在端口:80 上运行的 Web 应用程序,并且我有一个 Axis Web 服务,它是该 Web 应用程序的一部分。因此,该服务也在端口 :80 上运行。

但是,出于安全原因,我们的客户要求我们将 Web 服务端口更改为 8080,以便他们只能允许 Web 服务的远程消费者访问该端口。因此,他们将无法访问常规 Web 应用程序,但可以访问该服务。

这是否可以在不重构应用程序并在单独的 Web 应用程序中取出 Web 服务的情况下实现?

4

3 回答 3

1

正如我在评论中所说,我们的 Web 应用程序托管在 Oracle AS 10g 上,前面有一个 Oracle Web 缓存服务器。Oracle Web Cache 基于 Apache httpd,因此它支持虚拟主机和 URL 重写(尽管在这些条款下不存在)。

我设法通过以下方式解决了这个问题:

它就像一个魅力。

至于 Axis 本身,我没有找到将其配置为自行侦听另一个端口的方法。我想期望 Axis 提供此功能是不合理的,因为它只是托管在 servlet 容器中的一个 servlet,而提供连接器/传输层是容器的工作。

无论如何...感谢所有提供帮助的人,我很感激。

于 2009-02-02T22:31:56.747 回答
0

简短的回答可能是 - 是的,这是可能的。

Axis Web 服务大多与主应用程序足够分离,因此应该很容易让它们在不同的 Java Web 服务器实例上运行也在端口 8080 上,并且仅在该端口上提供 Web 服务。

于 2009-01-20T11:38:29.787 回答
0

您应该能够使用端口 8080 连接器设置单独的服务。

实际上,您将在您的实例中运行 2 个“迷你”-Tomcat。

基本上,

<Service> <!-- normal service -->
  <Connector port="80" />
</Service>
<Service> <!-- custom service -->
  <Connector port="8080" />
  <Engine>
     <Host />
  </Engine>
</Service>

如果它不能正常工作,感觉这个解决方案可能会带来一些调试噩梦,因此运行第二台服务器(可能是 Jetty)可能会更容易。

于 2009-01-31T06:24:38.183 回答