如何只允许特定应用程序的本地连接?

时间:2014-07-30 10:41:24

标签: tomcat servlets

我知道我可以通过编辑配置文件并在那里设置地址来设置tomcat以接受本地连接。但是,此设置将应用于我决定在其上运行的每个Web应用程序。

我希望只有一个特定的Web应用程序接受localhost的连接,如果是远程连接,可能会返回一个默认的html页面。

这可能吗?

1 个答案:

答案 0 :(得分:1)

你可以写一个servlet文件管理器并映射你需要保护的资源,这里有一些你需要的代码:

        String host = request.getRemoteHost();
        String address = request.getRemoteAddr();

        if ("localhost".equals(host) || "127.0.0.1".equals(address)) {
      //Accept connecction
           }else{
           //reject connection
            }

确保从tomcat中配置反向代理不会将所有连接标记为本地! DNS欺骗会对其进行制动,但它不太可能破坏您的主机文件!