Unable to access merge_diffs on Object store behind http proxy
Having switched containerized on-site gitlab (webservice v17.5.2) to unified object storage and set global:appConfig:externalDiffs:when=outdated in values.yaml, I can only see those diffs that are not outdated, IOW I can only see those that are stored in the database.
Older diffs, when trying to show these in the webUI (merge request / "Changes" view), time out and display the message "Something went wrong on our end. Please try again." while the main area's activity indicator keeps spinning.
The S3 service is located behind an HTTP proxy (Squid), looking at the S3 gateway's logs I can only see two identical "HEAD" requests when reloading the "merge request /changes" view:
"HEAD /dmzgitlab-mr-diffs/merge_request_diffs/mr-245/diff-531 HTTP/1.1" 200 0 - "fog-core/2.1.0"
On the other hand, I can see many direct requests for the S3 gateway's IP coming from the "webservice" pod - these of course will time out, as the S3 service can only be reached via the HTTP proxy configured in the pod's environment (http_proxy)
It seems this might be related to #479678 (closed), in that accesses to the S3 gateway via proxy failed there, too, for Gitlab-internal reasons. This is the same environment as in issue 479678, only differing in that the Gitlab version has continuously been updated (and to use S3 for external_diffs" via "when=outdated").
@gitlab-bot label typebug @gitlab-bot label ~"category::Cloud Native Installation"