Error 404 - Web IDE and Reverse Proxy External

Problem to solve

Hello,

Since the last update of our gitlab-ce v16.10.2 installation via aptitude, we are no longer able to use the integrated editors (web IDE, Integrated Editor) if we maintain the passage of flows through our reverse proxy hosted on another server .

This is an Apache HA-Proxy, which has always worked well since it was configured. Unfortunately this is not a product that we control internally. We have control over it but we do not have the necessary knowledge to optimize it in this scenario.

When the flows do not go through the reverse, the web IDE and the classic editor work.

The 404 error occurs during the following processing:

https://gitlab.frontend.fr/api/v4/projects/18/repository/files/meet-host%2Fnginx%2Fnginx.conf/raw?ref=rec

With the message:

Uncaught (in promise) Error: Request failed with status code 404
exports createError.js:16
exports settle.js:17
O xhr.js:62
exports xhr.js:47
exports xhr.js:14
exports dispatchRequest.js:56
promise callbackSKMx/l.prototype.request Axios.js:86
t Axios.js:128
exports bind.js:9
getRawFile api.js:822
configureMonacoEditor edit_blob.js:77
do edit_blob.js:21
a blob_bundle.js:24
promise callback
5p5H/t.a blob_bundle.js:22
oFR index.js:3
Webpack 6
createError.js:16:14

Do you have any ideas to suggest to me?

Steps to reproduce

No problems with the command line or with third-party tools. The problem occurs both in WEB IDE and in classic editor

Versions

  • Self-managed

We faced the same issue and finally found a solution for us which might be helpful for others as well.

As mentioned here, the Apache Config might need two additional Parameters to work properly as Reverse Proxy infront of an Gitlab Instance:
AllowEncodedSlashes NoDecode
nocanon in the ProxyPass Line