tomcat 访问权限设置
1.全局设置,设置允许某些IP能够访问到tomcat服务器,或不能访问tomcat服务器
只需要编辑tomcat的server.xml,增加适当代码即可。
修改如下:
在<Host> </Host> 之中添加以下代码
在<Host> </Host> 之中添加以下代码
1,只允许192.168.1.10访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/>
2,只允许192.168.1.*网段访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>
3,只允许192.168.1.10、192.168.1.30访问: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/>
根据主机名进行限制:
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/>
2.部分设置
例如我们有一个名为webapps/myapp的虚拟目录。
设置这个myapp实例的访问权限
用文本编辑器打开tomcat的 server.xml配置文件,在<Host> </Host> 之中添加以下代码添加代码如下:
设置这个myapp实例的访问权限
用文本编辑器打开tomcat的 server.xml配置文件,在<Host> </Host> 之中添加以下代码添加代码如下:
<context path=”/myapp” reloadable=”true” docBase=”/var/www/myapp”>
<valueclassName=”org.apache.catalina.values.RemoteAddrValue”
allow=”127.0.0.1” deny=”″ />
</context>
这样只允许本机 127.0.0.1这个地址 访问 xxx.xxx.xxx.xxx:8080/myapp
在context中 path是访问路径 docBase是你文件的位置
<Context path="/core/production" reloadable="true" docBase="core/production">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10.0.7.99|10.0.7.9" deny=""/>
</Context>
这个实例中 只要10.0.7.99|10.0.7.9 这两个ip可以访问 xxx.xxx.xxx.xxx:8080/core/production
而这个访问路径的实际访问位置是core/production
要限制 多个ip的可以使用正则;或者可以用 , 或者 | 作为分隔(tomcat版本不同)。
1. 在tomcat 5.5之前
path: 即要建立的虚拟目录 指定访问该Web应用的URL入口,如:http://127.0.0.1:8080/helloApp1。
docBase: 指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,
如果Web应用采用开放目录结构,则指定Web应用的根目录,
如果Web应用是个war文件,则指定war文件的路径。
reloadable :如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,
如果监测到有class文件被更新的,服务器会自动重新加载Web应用。
在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,
建议在Web应用的发布阶段将reloadable设为false。
2. 在tomcat 5.5之后
不推荐在server.xml中进行配置,而是在/conf/context.xml中进行独立的配置。因为 server.xml 是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。
而 context.xml 文件则不然, tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。
而 context.xml 文件则不然, tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。
<Context path="/kaka" docBase="kaka" debug="0" reloadbale="true" privileged="true"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <WatchedResource>WEB-INF/kaka.xml</WatchedResource> 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。 <Resource name="jdbc/testSiteds" 表示指定的jndi名称 auth="Container" 表示认证方式,一般为Container type="javax.sql.DataSource" maxActive="100" 连接池支持的最大连接数 maxIdle="30" 连接池中最多可空闲maxIdle个连接 maxWait="10000" 连接池中连接用完时,新的请求等待时间,毫秒 username="root" 表示数据库用户名 password="root" 表示数据库用户的密码 driverClassName="com.mysql.jdbc.Driver" 表示JDBC DRIVER url="jdbc:mysql://localhost:3306/testSite" /> 表示数据库URL地址 </Context>