jetty - 如何为 jetty 9.2.25 设置严格的传输安全标头
问题描述
我正在尝试为我的码头服务器 9.2.25 添加严格的传输安全标头
我试图将规则添加到我的 jetty-config.xml,但它似乎不起作用。
<Get id="oldhandler" name="handler"/>
<Set name="handler">
<New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="handler">
<Ref id="oldhandler"/>
</Set>
<Set name="rewriteRequestURI">true</Set>
<Set name="rewritePathInfo">false</Set>
<Set name="originalPathAttribute">requestedPath</Set>
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">/*</Set>
<Set name="name">Strict-Transport-Security</Set>
<Set name="value">max-age=31536000;includeSubDomains</Set>
</New>
</Arg>
</Call>
</New>
</Set>
为了检查它是否正常工作,我尝试查看 curl 输出,它没有显示 Strict-Transport-Security 信息。实际上,它应该在 curl 输出中显示以下行。
严格的传输安全性:max-age=31536000;包括子域
root@ip:~#curl -k --head https://ip:443
HTTP/1.1 200 正常
X-Frame-选项:拒绝
内容类型:text/html;charset=UTF-8
设置 Cookie:JSESSIONID=157bfeip315gbmb796uh2yq4m;路径=/;安全
过期:1970 年 1 月 1 日星期四 00:00:00 GMT
Pragma:无缓存
缓存控制:无存储
内容长度:8246
服务器:码头(9.2.25.v20180606)
请让我知道此配置中是否需要任何更改/配置码头 Web 服务器以添加 HSTS 标头的任何其他方式。
谢谢你的帮助。
解决方案
你试过这个:
<Set name="rules">
<Array type="org.eclipse.jetty.rewrite.handler.Rule">
<Item>
<New id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
<Set name="pattern">*</Set>
<Set name="name">Strict-Transport-Security</Set>
<Set name="value">max-age=31536000;includeSubDomains</Set>
</New>
</Item>
</Array>
</Set>
推荐阅读
- r - 有条件的两个数据表的随机抽样
- node.js - 在猫鼬用户验证方面需要帮助
- android - 来自 url 的所有图像在 Android Studio 3.3.1 之后停止加载
- html - 如何在 vba 内文中删除 html 字符 >
- reactjs - 带有将输入字段更改为文本输入的选项的下拉菜单
- angular - 在 Angular 7 中刷新 datatables.net 表数据会保留表第一次加载时的旧数据副本
- r - 将 curl 参数转换为 httr POST
- java - 布局中的适配器设置了错误的颜色/没有图像怎么办?
- logic - 如何在 Coq 中证明逻辑等价?
- swift - Does Kotlin support or have future plan for Interface Composition similar to Protocol Composition in Swift?