tomcat 配置,如何禁止外网访问

michelle0618 2010-01-20 11:05:43
各位达人好:

请问我如何在tomcat中配置 某个应用只运行内网访问。

或者:如何配置应用中的某个目录只允许内网访问。

偶是一菜鸟。请各位达人帮忙。谢谢谢谢!!
...全文
781 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜雨~听风 2010-01-20
  • 打赏
  • 举报
回复
不会吧。。若是已经用路由设网关了外网能访问内网了。。若在个别功能设置不能访问,除非别人的ip与你内网ip不再一个地址段,个别功能处的访问设为你内网ip才能访问就可以了。。至于有没有固有的工具就不知道了。。
icy_csdn 2010-01-20
  • 打赏
  • 举报
回复
用防火墙来设置,这样安全有保障。如果是linux,就配置一下iptables。
ladybirds2008 2010-01-20
  • 打赏
  • 举报
回复
我也想知道啊!能长长知识!
hyowner 2010-01-20
  • 打赏
  • 举报
回复
和TOMCAT没关系的...应该在程序里控制或设置相关权限 代码可以做到
changshoujun 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lewis219 的回复:]
你现在的应用外网能访问?没进行端口映射外网访问不了的吧
[/Quote]
这个不是tomcat配置的事情吧~
coveking 2010-01-20
  • 打赏
  • 举报
回复
根据请求的IP段吧,如果是192.168开头的就属于内网
liuahuilele 2010-01-20
  • 打赏
  • 举报
回复
内网和外网隔断 直接点
sean1203 2010-01-20
  • 打赏
  • 举报
回复
根据对方的ip
或则内网和外网隔断
michelle0618 2010-01-20
  • 打赏
  • 举报
回复
现在能外网访问的。因为本身就是放在外网能访问的服务器上。只是我想针对某个应用,或者说某个目录禁止。不知道能不能做到
lewis219 2010-01-20
  • 打赏
  • 举报
回复
你现在的应用外网能访问?没进行端口映射外网访问不了的吧
wibnmo 2010-01-20
  • 打赏
  • 举报
回复
用过滤器
snowmansh 2010-01-20
  • 打赏
  • 举报
回复
一般是防火墙里设置
loveunittesting 2010-01-20
  • 打赏
  • 举报
回复
修改server.xml文件,在<Context>标记内部加入(如果没有context,需要加入配置):

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="允许的ip" deny="拒绝的Ip"/>

ip地址可以用*号,如192.168.1.*
码农小小鸟 2010-01-20
  • 打赏
  • 举报
回复
//java代码
package filter;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import domain.Admin;
import domain.Governor;
import domain.Staff;
/**
* 用过滤器控制用户的访问权限
* @author 何博
*
*/
public class RightsFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest sreq, ServletResponse sres,
FilterChain chain) throws IOException, ServletException {

// 获取uri地址
HttpServletRequest request = (HttpServletRequest) sreq;
HttpServletResponse response = (HttpServletResponse)sres;

// 获取请求的uri,如“/cattsoft/jsp/admin/admin.jsp”
String uri = request.getRequestURI();
String ctx = request.getContextPath();
uri = uri.substring(ctx.length());
System.out.println("uri=="+uri);

// 判断admin(系统管理员)前面是Action请求,后面是页面
if (uri.startsWith("/admin.do") || uri.startsWith("/jsp/admin/")) {
Admin admin = (Admin) request.getSession().getAttribute("admin");
if (admin == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
}

// 判断governor(主管)
if (uri.startsWith("/governor.do") || uri.startsWith("/jsp/governor/")) {
Governor governor = (Governor) request.getSession().getAttribute("governor");
if (governor == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
}

// 判断staff(员工)
if (uri.startsWith("/staff.do") || uri.startsWith("/jsp/staff/")) {
Staff staff = (Staff) request.getSession().getAttribute("staff");
if (staff == null) {
request.setAttribute("message", "对不起,您没有该权限");
request.getRequestDispatcher("/jsp/login.jsp").forward(sreq,sres);
return;
}
}
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {

}

}
//////////////////////////////////////////////////////////////////
//web.xml里的配置
<filter>
<filter-name>RightsFilter</filter-name>
<filter-class>filter.RightsFilter</filter-class>
</filter>

//对请求admin文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/admin/*</url-pattern>
</filter-mapping>

//对请求governor文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/governor/*</url-pattern>
</filter-mapping>

//对请求staff文件夹下面的jsp页面进行过滤
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/jsp/staff/*</url-pattern>
</filter-mapping>

//对请求admin.do进行过滤。例如:admin.do?method=list1
<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/admin.do</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/governor.do</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>RightsFilter</filter-name>
<url-pattern>/staff.do</url-pattern>
</filter-mapping>

网上找的,没细看看,你自己看看,网上查查就会做了,很简单的
licip 2010-01-20
  • 打赏
  • 举报
回复
你可以通过写一个过滤器来实现吧。
michelle0618 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 dengzhangsong 的回复:]
这种跟服务器没有关系,只跟你的程序有关系,你配置一个过虑器不就可以了嘛,存在访问你不想让访问的目录的Url你让它重定向到首页就可以了撒
[/Quote]


能有个列子吗?谢谢了:)
michelle0618 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hyowner 的回复:]
和TOMCAT没关系的...应该在程序里控制或设置相关权限 代码可以做到
[/Quote]

怎么做啊?能有个例子吗?确实这方面没怎么接触过。拜托各位了
码农小小鸟 2010-01-20
  • 打赏
  • 举报
回复
这种跟服务器没有关系,只跟你的程序有关系,你配置一个过虑器不就可以了嘛,存在访问你不想让访问的目录的Url你让它重定向到首页就可以了撒

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧