如何在同一个端口(8080)上设置网站和Web服务?

时间:2014-06-09 12:04:27

标签: apache tomcat port

在托管网站address.com(使用drupal管理)的服务器上使用apache2服务器(在端口8080上运行)我想安装一个在同一端口8080上运行的webservice(tomcat7 / axis2)。是否有这样做吗?还有svn,trac在该端口上运行。不幸的是,由于安全限制,这是唯一可从外部访问的端口。 谢谢

2 个答案:

答案 0 :(得分:1)

您可以绝对在同一端口上公开多个服务,只要它们都位于不同的URL命名空间中。例如,您已经在端口8080上运行Trac和svn,显然您已经正在执行您正在询问的内容。

要添加Tomcat,通常会:

  • 在另一个端口上本地运行Tomcat,然后
  • 使用ProxyPassProxyPassReverse通过端口8080上的网络服务器公开Tomcat服务。

例如,如果您想在http://myserver:8080/tomcat处显示Tomcat实例,则可以在Apache配置中添加以下内容:

ProxyPass /tomcat/ http://localhost:8888/
ProxyPassReverse /tomcat/ http://localhost:8888/

您可以阅读有关这些指令here的更多信息。请注意,您可能需要对Tomcat应用程序执行其他配置,以反映它在/tomcat/外部可见的事实。

您还可以利用虚拟主机,假设您为此系统控制DNS;在这种情况下,您可以:

http://myserver-trac:8080/

导致与{\ n}}不同的VirtualHost配置

http://myserver-tomcat:8080/

您可以阅读有关基于名称的虚拟主机here的更多信息。

答案 1 :(得分:0)

当您安装侦听另一个端口(在localhost上)的Web服务时,您可以使用Apache作为代理(使用mod_proxy)来访问该服务。

也许有用:How to rewrite / proxy an Apache URI to an application listening on a specific port / server?