Setting cache-control parameter in nexus repository manager 3.13

I am hosting some python whl files on nexus. Files on nexus don’t appear to have any cache-control parameter set. This prevents pip from caching wheel files referenced by requirements.txt. Is there any plans to support this in future release? Is there any recommendations on how to enable this? These whl files are in a hosted repository.

Example:
$ curl -I https://my-nexus-url/py2.py3-none-any.whl

HTTP/1.1 200 OK
Date: Sat, 05 Jan 2019 01:19:05 GMT
Content-Type: application/zip
Content-Length: 56163
Connection: keep-alive
Server: Nexus/3.13.0-01 (OSS)
X-Content-Type-Options: nosniff
Content-Security-Policy: sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts allow-top-navigation
Last-Modified: Tue, 06 Nov 2018 21:01:39 GMT

When I curl some whl hosted by python org

$ curl -I https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl

Started at 2019-01-04 18:41:34-07:00
HTTP/1.1 200 OK
x-amz-id-2: lMh/0nR91feN/7qYE2iws2ZDcRBbi5eoXZlMAG9myASTH8TwNXyxZBqKxiTlzdDQ08MqJUCkqwo=
x-amz-request-id: 172694D2F02A0CB7
Last-Modified: Thu, 22 Mar 2018 23:47:56 GMT
ETag: "c0b6697b7130c495aba71cdfcf939cc9"
x-amz-version-id: 6aCjJRQM0q_whwNw7HPR3q1i03tf4wkM
Content-Type: binary/octet-stream
Server: AmazonS3
Cache-Control: max-age=365000000, immutable, public
Content-Length: 194247
Accept-Ranges: bytes
Date: Sat, 05 Jan 2019 01:41:34 GMT
Age: 4374162
Connection: keep-alive
X-Served-By: cache-sea1033-SEA, cache-den19621-DEN
X-Cache: HIT, HIT
X-Cache-Hits: 120, 3
X-Timer: S1546652494.458462,VS0,VE0
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
X-Robots-Header: noindex

Nexus Repository Manger 3.13.0-01
OSS

I ran into this same problem. This can dramatically increase the load on the server, with many clients, because it essentially disables pip’s local cache.

Here are the pip docs on this: This page has moved - pip documentation v23.3.2

When storing items in the cache, pip will respect the CacheControl header if it exists, or it will fall back to the Expires header if that exists. This allows pip to function as a browser would, and allows the index server to communicate to pip how long it is reasonable to cache any particular item.

I found a similar issue on J-Frog, but they have resolved the issue: [RTFACT-13856] - Jira

I’m using 3.21.1-01