我们正在使用设置为CONFIDENTIAL的安全约束策略强制从http重定向到https。虽然在本地开发中我们想要删除约束。使用Jetty 7,我们使用override-web.xml
将传输安全性从机密重新分配到NONE。现在我们迁移到Jetty 9后突然停止了这样做。我怀疑现在使用Jetty 9而不是覆盖传输安全性,它会在列表中添加约束。
如何在本地环境中将安全约束从CONFIDENTIAL覆盖到NONE?
这是来自web.xml
的部分:
<security-constraint>
<web-resource-collection>
<web-resource-name>Some server</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
在本地开发中,我们使用jetty-maven-plugin运行jetty并指定override-web.xml
。这是来自override-web.xml
的部分:
<security-constraint>
<web-resource-collection>
<web-resource-name>Some server</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
Jetty版本之前:7.6.10.v20130312
Jetty版本之后:9.2.18.v20160721
答案 0 :(得分:1)
此功能应该在Jetty 9
Jetty 7
中工作。
您可以找到here
中的WebApp configuration
说明
他们在Jetty 9
中更改了一些标签,因此在阅读配置时要格外小心。你应该在pom.xml
:
<configuration>
<webApp>
<overrideDescriptor>{path_to_your_override_xml}</overrideDescriptor>
</webApp>
</configuration>
例如,标签
<webApp> </webApp>
早些时候
<webAppConfig> </webAppConfig>
关注Jetty startup log
并验证是否已应用替换:
[INFO] Web overrides = {path_to_your_override_xml}