这几天我都快疯了。要么是我做的完全错误的事情,要么是我做的非常愚蠢的事情,要么是两者兼而有之。
我在 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 基本身份验证来进一步确保安全,但我需要先使基本功能正常运行。有人知道这是怎么回事吗?
答案1
完全矛盾此截图从 Tomcat 的同一个安装中,一个角色根本manager
不够用。我需要一个角色manager-gui
。我将把有缺陷的“它起作用了!”页面提交为错误,因为这是一个非常令人沮丧的过程。
此默认的“它起作用了!”页面还应详细说明其他经理角色,例如manager-script
。