2012-12-21 41 views
1

我正在使用運行我們的主項目的JBOSS應用程序服務器。在頂部,我們使用nginx作爲web服務器來偵聽端口80,它充當將所有連接轉發到運行jboss項目的8080端口的代理。以下是我們添加的配置。現在第一頁使用url http://domain_name這是登錄頁面正常工作。但是在我們登錄頁面後,頁面重定向到下一頁,並且附加了兩次項目名稱,並且因爲它無法在該路徑中找到頁面而引發錯誤。如何重寫將使用nginx的用戶刪除項目名稱的網址?我知道我們可以通過更改web.xml中的上下文根標籤來將此項目用作默認項目,除此之外我們還可以做任何事情。使用Nginx刪除url中的項目名稱

Nginx的配置

location/{ 
     proxy_pass http://localhost:8080/project1/; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
#  proxy-set_header Host $host; 
    } 

錯誤

HTTP Status 404 - /project1/project1/ 

type Status report 

message /project1/project1/ 

description The requested resource (/project1/project1/) is not available. 
+0

如果您將項目文件重命名爲ROOT.war,則可能是工作。 其他方式是重寫uri刪除項目的名稱。 –

回答

0

只需使用proxy_pass http://localhost:8080;

也就是說,從代理pass指令刪除project1


讓用戶只輸入http://domain.com,而不是http://domain.com/project_name,你需要使用root指令在nginx的。

root /server/path/to/domain.com/project_name;

您的其他服務器應具有同等指令進行設置。使用Apache,這是DocumentRoot指令。

+0

你的意思是用戶應該輸入url爲「htp://domain.com/ 」。我希望用戶只輸入「htp://domain.com」,它應該直接指向項目。我怎樣才能做到這一點? – user1595858

+0

查看編輯部分 – Dayo

相關問題