微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jetty 重定向时显示的 IP 地址

如何解决Jetty 重定向时显示的 IP 地址

我有一个使用 Jetty 的 PlantUML 服务器。我们的 sec 扫描器发现,当重定向发生时,“位置”中存在一个内部 IP 地址,我可以复制它(我在 docker 容器中运行它)

curl -I --http1.1 127.0.0.1:8080
HTTP/1.1 302 Found
Location: http://127.0.0.1:8080/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
Content-Length: 0
Server: Jetty(9.4.35.v20201120)

在 jetty.xml 中,我添加org.eclipse.jetty.server.HostHeaderCustomizer,这是一些 jetty 用户建议的(https://wiki.cryptshare.com/display/CKB/The+internal+IP+address+is+revealed+in+HTTP1.0):

 <New class="org.eclipse.jetty.server.HostHeaderCustomizer" id="hostHeaderCustomizer">
        <Arg>server</Arg>
    </New>
    <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
      <Set name="secureScheme"><Property name="jetty.httpConfig.secureScheme" default="https" /></Set>
      <Set name="securePort"><Property name="jetty.httpConfig.securePort" deprecated="jetty.secure.port" default="8443" /></Set>
      <Set name="outputBufferSize"><Property name="jetty.httpConfig.outputBufferSize" deprecated="jetty.output.buffer.size" default="32768" /></Set>
      <Set name="outputAggregationSize"><Property name="jetty.httpConfig.outputAggregationSize" deprecated="jetty.output.aggregation.size" default="8192" /></Set>
      <Set name="requestHeaderSize"><Property name="jetty.httpConfig.requestHeaderSize" deprecated="jetty.request.header.size" default="8192" /></Set>
      <Set name="responseHeaderSize"><Property name="jetty.httpConfig.responseHeaderSize" deprecated="jetty.response.header.size" default="8192" /></Set>
      <Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" deprecated="jetty.send.server.version" default="true" /></Set>
      <Set name="sendDateHeader"><Property name="jetty.httpConfig.sendDateHeader" deprecated="jetty.send.date.header" default="false" /></Set>
      <Set name="headerCacheSize"><Property name="jetty.httpConfig.headerCacheSize" default="1024" /></Set>
      <Set name="delaydispatchUntilContent"><Property name="jetty.httpConfig.delaydispatchUntilContent" deprecated="jetty.delaydispatchUntilContent" default="true"/></Set>
      <Set name="maxErrordispatches"><Property name="jetty.httpConfig.maxErrordispatches" default="10"/></Set>
      <Set name="blockingTimeout"><Property deprecated="jetty.httpConfig.blockingTimeout" name="jetty.httpConfig.blockingTimeout.DEPRECATED" default="-1"/></Set>
      <Set name="persistentConnectionsEnabled"><Property name="jetty.httpConfig.persistentConnectionsEnabled" default="true"/></Set>
      <Set name="requestCookieCompliance"><Call class="org.eclipse.jetty.http.CookieCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.requestCookieCompliance" deprecated="jetty.httpConfig.cookieCompliance" default="RFC6265"/></Arg></Call></Set>
      <Set name="responseCookieCompliance"><Call class="org.eclipse.jetty.http.CookieCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.responseCookieCompliance" default="RFC6265"/></Arg></Call></Set>
      <Set name="multiPartFormDataCompliance"><Call class="org.eclipse.jetty.server.MultiPartFormDataCompliance" name="valueOf"><Arg><Property name="jetty.httpConfig.multiPartFormDataCompliance" default="RFC7578"/></Arg></Call></Set>
      <Set name="relativeRedirectAllowed"><Property name="jetty.httpConfig.relativeRedirectAllowed" default="false"/></Set>
      <Call name="addCustomizer">
          <Arg>
              <Ref refid="hostHeaderCustomizer" />
          </Arg>
      </Call>
    </New>

但仍然看到 curl 的相同结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。