2009-01-20 106 views
1

我有一個運行在端口80上的Web應用程序,並且我有一個屬於該Web應用程序的Axis Web服務。因此,該服務也在端口80上運行。更改Axis Web服務正在偵聽的端口

但是,出於安全原因,我們的客戶要求我們將Web服務端口更改爲8080,以便他們只允許訪問該Web服務的遠程消費者的端口。因此他們將無法訪問常規Web應用程序,但可以訪問該服務。

這樣做可以不重構應用程序,並在單獨的Web應用程序中取出Web服務?

+0

什麼在運行應用程序? Tomcat的? (如果Axis今天包含它自己的Web服務器,我很抱歉 - 我認爲它以前只是一個可以在任何servlet容器中運行的servlet)。 – 2009-01-20 11:02:57

回答

1

正如我在評論中所說的那樣,我們的Web應用程序託管在Oracle AS 10g上,Oracle Web Cache服務器位於它的前面。 Oracle Web Cache基於Apache httpd,因此它具有虛擬主機支持和URL重寫功能(儘管這些條款並不存在)。

我設法解決這個問題:

它的功能就像一個魅力。

至於Axis本身,我沒有找到一種方法來配置它自己偵聽另一個端口。我認爲期望Axis提供這種功能是不合理的,因爲它只是一個託管在servlet容器中的servlet,而且它是容器提供連接器/傳輸層的工作。

無論如何......感謝所有提供幫助的人,我很感激。

0

簡短的回答可能是 - 是的,這是可能的。

Axis webservices通常足以與主應用程序解耦,應該很容易讓它們在不同的Java Web服務器實例上運行,而該實例僅在端口8080運行,如果無法配置任何Web服務器您也運行在端口8080上運行,並僅在該端口上提供Web服務。

0

您應該能夠使用端口8080連接器設置單獨的服務。

實際上,您將在您的實例中運行2個「mini」-Tomcats。

基本上,

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

它覺得這個解決方案可以提出一些調試的噩夢,如果它不工作,恰到好處,所以它可能是更容易運行第二個服務器(可能碼頭)。

相關問題