我知道我们可以在 apache tomcat 中启用 HSTS,因为有一个选项可以实现这一点。有什么方法可以在Sonatype Nexus工件存储库管理器之上进行配置?
我找到了一个 jetty-http.xml 的 nexus 配置,有什么方法可以在其中添加 HSTS 配置,它是否能够在运行此 jetty-http.xml 时理解 HSTS 配置?
Nexus 3 附带默认启用的 Jetty SecureRequestCustomizer,该定制器启用 HSTS:
https://github.com/sonatype/nexus-public/blob/master/assemblies/nexus-base-template/src/main/resources/overlay/etc/jetty/jetty-https.xml#L19
有关如何自定义它的示例,请参阅此处:
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-server/src/main/config/etc/jetty-ssl.xml#n50
因此,本文从未真正指出用户如何能够解决问题。
我能够通过将重写添加到应用程序的 Nexus SSL 端口.xml添加到应用程序调用的.xml文件列表中并在重写内部.xml 我添加了以下码头连接器。
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- configure rewrite handler -->
<!-- =========================================================== -->
<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">true</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>
</Configure>