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

仍然可以使用HTTP访问具有机密传输保证的URL

唐法
2023-03-14

我执行了以下步骤:
1)通过keytool创建自签名证书
2)在server.xml的8443端口上配置连接器
3)检查localhost:8080和localhost:8433都可访问
4)向web.xml添加以下安全约束

<security-constraint>
   <web-resource-collection>
        <web-resource-name>securedapp</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

当我转到http://localhost:8080/myapp/时,不会重定向到https://localhost:8443/myapp/。据我所知,对于传输保证为机密的URL使用HTTP的请求应该使用HTTPS自动重定向到相同的URL。

但是,我的应用程序仍然可以访问,并且使用HTTP和HTTPS工作。我使用的是Tomcat 6.0.36。我错过了什么?

提前谢了。

共有1个答案

靳涵亮
2023-03-14

回答我自己的问题。

我发现这种行为是由HTTP连接器的secure标志引起的。我以前为测试目的设置了它,但忘记了它。

当HTTP连接器具有secure=“true”并且浏览器中没有现有的JSESSIONID cookie时:

    null
    null
 类似资料:
  • 从https://projects.spring.io/spring-framework/,我有一个spring framework hellpworld程序。我删除了注释。然而,程序仍然可以像以前一样运行。为什么?这里的角色是什么?

  • 问题内容: 我已经在Ubuntu桌面上安装了go,在关闭计算机之前,它运行良好。 现在,当我启动机器并恢复该项目的工作时,我得到了 当我尝试构建项目时。 我在关闭电源之前所做的唯一可能会产生影响的事情是使用以下命令安装godoc 我已经通过下载文件而不是使用直接安装了 去环境 $ go版本 我仍然可以运行编译后的go代码。 这里可能出了什么问题?我该如何解决? 问题答案: 该程序应该在您的 目录中

  • 我想让我的CardView更容易访问。我有可点击的CardView,我希望通过角色“按钮”对该CardView进行语音反馈。我不知道怎么做。 我尝试使用ViewCompat和重写onInitializeAccessibilityNodeInfo,这对我有帮助,但不是完全的。角色“button”总是先发声,尽管对讲通常最后用真实按钮说“button”。总比什么都没有好,但是我怎样才能让对讲听起来像我

  • 我已经能够通过外部web应用程序使用oauth rest api访问azure key vault,但出于某种原因,我无法从密钥中检索机密。经过长时间的研究,我发现用powershell和C#可以做到这一点,但还没有找到用Python解决方案。有人知道python是否有可能,或者有一种方法可以模拟powershell正在做什么吗?以下是检索秘密的代码: 此外,我已经在azure portal中注册

  • 我正在尝试使用Postman,chrome扩展api客户端Postman通过http访问Dynamodb。这实际上是我在《Dynamodb应用设计模式》一书中读到的一种方法。似乎我做错了什么,因为我无法成功地验证和访问web服务。 我在Postman客户端中使用的url和标题以及我最近的请求参数和错误消息如下: 我的请求是: 我得到以下错误消息: {uuu type:“com.amazon.cor