mirror of
https://github.com/nextcloud/docker.git
synced 2025-07-28 09:28:05 +02:00
Compare commits
4 commits
14419fcd2a
...
def98dc682
Author | SHA1 | Date | |
---|---|---|---|
|
def98dc682 | ||
|
6c1075b88d | ||
|
a9f9885e65 | ||
|
622cdd6259 |
12 changed files with 54 additions and 3 deletions
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -28,3 +28,8 @@ $trustedProxies = getenv('TRUSTED_PROXIES');
|
||||||
if ($trustedProxies) {
|
if ($trustedProxies) {
|
||||||
$CONFIG['trusted_proxies'] = array_filter(array_map('trim', explode(' ', $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)));
|
||||||
|
}
|
||||||
|
|
|
@ -261,7 +261,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`.
|
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`.
|
||||||
|
|
||||||
|
@ -276,6 +276,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)
|
- `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.
|
- `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.
|
- `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.
|
Check the [Nexcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html) for more details.
|
||||||
|
|
||||||
|
|
|
@ -60,8 +60,8 @@ file_env() {
|
||||||
local var="$1"
|
local var="$1"
|
||||||
local fileVar="${var}_FILE"
|
local fileVar="${var}_FILE"
|
||||||
local def="${2:-}"
|
local def="${2:-}"
|
||||||
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
local varValue="`env | grep -E \"^${var}=\" | sed -E -e \"s/^${var}=//\"`"
|
||||||
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
local fileVarValue="`env | grep -E \"^${fileVar}=\" | sed -E -e \"s/^${fileVar}=//\"`"
|
||||||
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue