Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-26638

gzip compress conda repository metadata responses if client indicates support

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.29.2
    • Fix Version/s: None
    • Component/s: Conda
    • Notability:
      3

      Description

      Conda clients will indicate support for compression of HTTP responses.

      Official conda repositories will reply with a compressed reply, while NXRM does not.

      This consumes more bandwidth than should be required, possibly making builds using NXRM slower than they otherwise would be.

      curl -v https://repo.anaconda.com/pkgs/main/noarch/repodata.json -H "Accept: */*" -H "Accept-Encoding: gzip, deflate, compress, identity" -o /dev/null
      < HTTP/2 200 
      < date: Tue, 09 Feb 2021 15:10:25 GMT
      < content-type: application/json
      < set-cookie: __cfduid=d5eaa83fddd9f05653733c86bbcdba6121612883425; expires=Thu, 11-Mar-21 15:10:25 GMT; path=/; domain=.anaconda.com; HttpOnly; SameSite=Lax; Secure
      < x-amz-id-2: 6tV77IWbBzxUiogNYhQWVhhQfkyohRPQ0USjxEQ9Gwdhk65hScfsMDcB1sMuUnvuUv6H9OIAJQk=
      < x-amz-request-id: F5BF72DC57435EC3
      < last-modified: Mon, 08 Feb 2021 20:39:24 GMT
      < x-amz-version-id: 7DV2byaD0mGa4onEFBWmpyEjs2U9pn8O
      < etag: W/"9b9831a707e0f5283f27cfddeb9667b2"
      < cf-cache-status: HIT
      < age: 118
      < expires: Tue, 09 Feb 2021 15:10:55 GMT
      < cache-control: public, max-age=30
      < cf-request-id: 0828f110940000f01d1398a000000001
      < expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
      < vary: Accept-Encoding
      < server: cloudflare
      < cf-ray: 61ee8460efe7f01d-EWR
      < content-encoding: gzip
      { [788 bytes data]
      100  520k    0  520k    0     0  1729k      0 --:--:-- --:--:-- --:--:-- 1729k
      
      
      * Connection #0 to host repo.anaconda.com left intact
      > GET /repository/anaconda-proxy/noarch/repodata.json HTTP/1.1
      > Host: localhost:8081
      > User-Agent: curl/7.74.0
      > Accept: */*
      > Accept-Encoding: gzip, deflate, compress, identity
      > 
      * Mark bundle as not supporting multiuse
      < HTTP/1.1 200 OK
      < Date: Tue, 09 Feb 2021 15:19:09 GMT
      < Server: Nexus/3.29.2-02 (PRO)
      < X-Content-Type-Options: nosniff
      < Content-Security-Policy: sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts allow-top-navigation
      < X-XSS-Protection: 1; mode=block
      < Last-Modified: Mon, 08 Feb 2021 20:39:24 GMT
      < ETag: W/"9b9831a707e0f5283f27cfddeb9667b2"
      < Content-Type: application/json
      < Content-Length: 3177552
      < 
      { [81868 bytes data]
      100 3103k  100 3103k    0     0  5396k      0 --:--:-- --:--:-- --:--:-- 5387k
      

      Expected

      If a requesting client indicates it accepts compressed content, then compress that content in the reply. Do this only for textual content types.

        Attachments

          Activity

            People

            Assignee:
            plynch Peter Lynch
            Reporter:
            plynch Peter Lynch
            Last Updated By:
            Rich Seddon Rich Seddon
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                tigCommentSecurity.panel-title