当前位置: 首页 > 知识库问答 >
问题:

雄猫 HTTPS 仅 1 个endpoint除外

孔磊
2023-03-14

我已经在server.xml中配置了从8080到8443的重定向连接器,并使用适当的子标签在web.xml设置了安全约束。它可以正确重定向,但我想忽略HTTP访问,只使用HTTPS。所以我不需要重定向或类似的东西。外部服务需要endpoint的HTTP访问,我只想通过HTTP启用该endpoint。

我试图删除带有8080端口的连接器,但是使用这种方法没有机会通过http获得请求。

共有1个答案

欧阳君浩
2023-03-14

如果禁用连接,您将无法通过 http 访问您的应用程序。

因此,您可以实现一个筛选器,用于检查当前请求的协议是否为 HTTP,以及是否允许终结点 URL,否则将阻止请求。

在您的网络中。您可以声明以下筛选器:

<filter>
    <filter-name>blockHttpFilter</filter-name>
    <filter-class>com.example.BlockHttpFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>urlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

实施可能如下:

public class BlockHttpFilter implements Filter {

    private ServletContext context;

    public void init(FilterConfig fConfig) throws ServletException {
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;
        if(req.isSecure() && checkHttpEnpointPath(req)){
            chain.doFilter(request, response);
        } else {
            HttpServletResponse res = (HttpServletResponse)response;
            res.sendError(403);
         }
    }

    public void destroy() {
        //we can close resources here
    }

}
 类似资料:
  • 我正在使用Spring boot开发应用程序,我只想在返回客户端时忽略一个字段,但一个endpoint除外。 如何仅为一个endpoint向客户端公开jwt?谢谢

  • 问题内容: 尝试在64位linux(CentOS)计算机上诊断一些奇怪的Tomcat()和/或JVM错误。 我正在对我们的服务器应用程序进行负载测试,并尝试使用100K消息进行匹配。发射并一直盯着堆。一切看起来都很好*(请参阅下文),直到我收到大约93K的已处理消息,然后Tomcat死了。对Tomcat的PID号运行一个,以确认它已死。 直到此崩溃: 负载测试已经运行了大约90分钟;自从我们达到9

  • 我们希望将SolrCloud与单独的ZooKeeper实例一起使用,但需要一些建议。我们的情况是-多个集合,每个集合都有多个分片在Ubuntu 13、Solr 4.7.0、单独的ZooKeeper 3.4.5、AWS中的OpenJDK 7上运行 Jetty还是Tomcat?Jetty是内置的,需要更少的配置,但是除非指定“nohup”,否则当您退出运行SolrCloud的java命令或断开SSH会

  • 我无法理解从phonegap发送ajax请求时,如果没有使用tomcat处理请求,则返回403错误。如果使用码头嵌入工作冷却。 我的控制器 如何在tomcat中完整记录请求,或者如何从spring修复它。在简单的rest中,客户机工作很酷。 获取返回 主机10.0.0.42:8080连接保持活动接受/x请求-使用com。柠檬酸。planReview用户代理Mozilla/5.0(Linux;U;A

  • 我试图按照headfirst jsp和servlets的书,我遇到了以下错误。HTTP状态404 - /Beer/form.html 我的文件夹组织如下 假猫- 同样在啤酒文件夹中,我还有另一个文件夹 WEB-INF,其中包含 web.xml 文件。 首先我想也许我的雄猫根本不起作用,所以我使用我以前完成的 servlet 对其进行了测试。成功了。 我重新启动了web服务器,但仍然出现此错误。我正

  • 我正在安装sakai,我获得了“构建成功”,但当运行tomcat时,这不起作用,所以看起来像java执行错误。 我的环境: > 酒井(来自github) Apache Maven 3.0.5 Maven home: /usr/share/maven Java版本: 1.8。0_05,供应商: Oracle Corporation Javahome: /usr/lib/jvm/jdk1.8.0_05