Ubuntu

Nginx背後的Tomcat管理器403

  • December 30, 2011

這幾天讓我發瘋了。要麼我做錯了,非常愚蠢,要麼是兩者兼而有之。

我在 Ubuntu 11.10 上。我執行了以下命令:

sudo apt-get install nginx
sudo apt-get install tomcat7 tomcat7-admin

以下是我的tomcat-users.xml文件:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
 <role rolename="admin" />
 <role rolename="manager" />
 <user username="admin" password="secret" roles="admin,manager" />
</tomcat-users>

我設置了以下 nginx 配置:

server {
 listen 80;
 server_name tomcat.example.com;

 location / {
   proxy_pass http://localhost:8080;
   proxy_set_header Authorization "Basic YWRtaW46c2VjcmV0";
 }
}

在哪裡YWRtaW46c2VjcmV0編碼。admin:secret``Base64

訪問http://tomcat.example.com工作正常;但是,每當我嘗試訪問時,http://tomcat.example.com/manager/html我都會從 Tomcat 獲得 403 頁面。我嘗試重新啟動 nginx 和 tomcat 均無濟於事。

每當我嘗試進入 Tomcat 管理器時,我的 Nginx 訪問日誌中都會出現以下內容:

xxx.xxx.xxx.xxx - admin [29/Dec/2011:06:20:22 -0500] "GET /manager/html HTTP/1.1" 403 431 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7"

每當我嘗試進入 Tomcat 管理器時,以下內容都會出現在我的 Tomcat 訪問日誌中:

127.0.0.1 - admin [29/Dec/2011:06:20:22 -0500] "GET /manager/html HTTP/1.0" 403 1108

我計劃通過在 Nginx 上設置 SSL 以及 HTTP 基本身份驗證來進一步保護這一點,但我需要先讓基礎工作正常。有人知道這裡發生了什麼嗎?

與 Tomcat 安裝相同的截圖完全矛盾,一個角色根本manager不夠用。我需要一個角色manager-gui。我將送出錯誤的“它有效!” 頁面作為一個錯誤,因為這是一個非常令人沮喪的過程。

還有其他經理角色,這個預設的“它工作!” 頁面應該詳細說明,例如manager-script

引用自:https://serverfault.com/questions/344988