diff --git a/.config/reverse-proxy.config.php b/.config/reverse-proxy.config.php index 7df0415e..30c660ff 100644 --- a/.config/reverse-proxy.config.php +++ b/.config/reverse-proxy.config.php @@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES'); if ($trustedProxies) { $CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $trustedProxies))); } + +$forwardedForHeaders = getenv('FORWARDED_FOR_HEADERS'); +if ($forwardedForHeaders) { + $CONFIG['forwarded_for_headers'] = array_filter(array_map('trim', explode(' ', $forwardedForHeaders))); +} diff --git a/28/apache/Dockerfile b/28/apache/Dockerfile index 9ac2e524..f9637bd7 100644 --- a/28/apache/Dockerfile +++ b/28/apache/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/28/fpm-alpine/Dockerfile b/28/fpm-alpine/Dockerfile index 02ab2450..24f4d938 100644 --- a/28/fpm-alpine/Dockerfile +++ b/28/fpm-alpine/Dockerfile @@ -63,7 +63,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/28/fpm/Dockerfile b/28/fpm/Dockerfile index 17432c85..4a8da235 100644 --- a/28/fpm/Dockerfile +++ b/28/fpm/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index 371d4cd7..a81658c2 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/29/fpm-alpine/Dockerfile b/29/fpm-alpine/Dockerfile index 5e8aa0f8..017de203 100644 --- a/29/fpm-alpine/Dockerfile +++ b/29/fpm-alpine/Dockerfile @@ -63,7 +63,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/29/fpm/Dockerfile b/29/fpm/Dockerfile index a134d720..00776307 100644 --- a/29/fpm/Dockerfile +++ b/29/fpm/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index 93642f7b..907fc57e 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index 11c6e1ba..a8b5faa6 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -63,7 +63,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index e9a09f6a..e2a52ed2 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -65,7 +65,7 @@ RUN set -ex; \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.23; \ + pecl install APCu-5.1.24; \ pecl install imagick-3.7.0; \ pecl install memcached-3.2.0; \ pecl install redis-6.0.2; \ diff --git a/README.md b/README.md index b9f7a66d..4867c4b6 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,7 @@ To use the hooks triggered by the `entrypoint` script, either ``` -## Using the apache image behind a reverse proxy and auto configure server host and protocol +## Using the image behind a reverse proxy and auto configure server host and protocol The apache image will replace the remote addr (IP address visible to Nextcloud) with the IP address from `X-Real-IP` if the request is coming from a proxy in `10.0.0.0/8`, `172.16.0.0/12` or `192.168.0.0/16` by default. If you want Nextcloud to pick up the server host (`HTTP_X_FORWARDED_HOST`), protocol (`HTTP_X_FORWARDED_PROTO`) and client IP (`HTTP_X_FORWARDED_FOR`) from a trusted proxy, then disable rewrite IP and add the reverse proxy's IP address to `TRUSTED_PROXIES`. @@ -277,6 +277,7 @@ If the `TRUSTED_PROXIES` approach does not work for you, try using fixed values - `OVERWRITECLIURL` (empty by default): Set the cli url of the proxy (e.g. https://mydnsname.example.com) - `OVERWRITEWEBROOT` (empty by default): Set the absolute path of the proxy. - `OVERWRITECONDADDR` (empty by default): Regex to overwrite the values dependent on the remote address. +- `FORWARDED_FOR_HEADERS` (empty by default): HTTP headers with the original client IP address Check the [Nexcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html) for more details.