tomcat管理页面403 Access Denied的解决方法
安装tomcat,配置好tomcat环境变量以后,访问manager app页面,出现403 Access Denied错误,解决的方法如下:
1、首先在conf/tomcat-users.xml文件里面,在前面添加如下代码:
<!-- 添加用户 -->
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
2、然后重启tomcat,重新访问manager app页面,如果此时仍然出现403 Access Denied错误,那么就是访问的ip地受到了限制,
我们打开/webapps/manager/META-INF/目录下context.xml文件,不是conf/目录下的context.xml文件,一定不要搞错了
我们将里面的内容注释掉或者修改为
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
保存,然后重启tomcat,重新访问manager app页面,OK,问题得到解决。
Tomcat配置域名
一、修改端口
tomcat默认监听端口是8080,我们如果想不带端口的直接访问项目,就必须监听80 端口;
service.xml 以下代码段
修改为
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
二、配置
第一是 把defaultHost的值修改成你的域名
三、
把name的值修改成你的域名
最后再加上具体的项目指向
在Host下面加上 <Context docBase="testPath" path="" reloadable="true"/></Host>
这个testPro就是tomcat中的项目名称
三、保存service.xml文件,重新启动服务,如果你的域名和ip绑定好的话就可以直接用域名访问了
重启服务器之后确实可以域名访问项目了,但是当去掉前面www.的时候,却无法访问。
既然访问不到意思就是没有配置这个域名,就又加了一个标签,其他的都没变,只把有域名的地方去掉前面的www. 然后重启服务器,这样按照理论来说是成功的,可是结果却是出乎所料。
访问不了,看日志下面既然还报了内存溢出,这就没办法理解了。
后来翻墙查资料,终于解决了。原来下还有一个别名标签,修改后的代码
<Host name="www.qiangzigz.pw" appBase="webapps/qxw"
unpackWARs="true" autoDeploy="true">
<Alias>qiangzigz.pw</Alias>
<Context path="" docBase="C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\qxw" debug="0" reloadable="true" ></Context>
</Host>
重启服务器,果然OK。