为了在Tomcat下进行SSL配置测试,这一切都是强制性的吗?
以下这行来自website:
为了对我们的测试执行此操作,请使用已在Tomcat中成功部署的任何应用程序,并首先通过http和https访问它以查看它是否正常工作。如果是,则打开该应用程序的web.xml,然后在web-app结束之前添加此XML片段,即
</web-app>
:<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>
此配置是否必须在web.xml文件中执行?
答案 0 :(得分:39)
不,没有必要。这意味着您的网络应用程序仅可通过HTTPS获得(而不是通过HTTP提供)。
如果省略<transport-guarantee>CONFIDENTIAL</transport-guarantee>
标记(或整个<security-constraint>
),您的应用程序将通过HTTP和HTTPS提供。如果您的web.xml
包含<transport-guarantee>CONFIDENTIAL</transport-guarantee>
,如果您尝试使用HTTP,Tomcat会自动将请求重定向到SSL端口。
请注意,默认的Tomcat配置不启用SSL连接器,您必须手动启用它。 查看SSL Configuration HOW-TO了解详细信息。
答案 1 :(得分:5)
如果您仔细检查,blog会进一步解释:
只有使用 HTTPS (无论是Servlet还是JSP),才能访问应用程序中的任何资源。术语
CONFIDENTIAL
是告诉服务器使应用程序在SSL
上运行的术语。如果要关闭此应用程序的SSL
模式,请转动不要删除该片段。 只需将值设为NONE
而不是CONFIDENTIAL
。