如何在Sonatype nexus中配置HTTP严格传输安全性



我知道我们可以在 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>

最新更新