From c899ed000b1fdac1be68e92af2299966350bfe98 Mon Sep 17 00:00:00 2001 From: Jens Giessmann <j.giessmann@herzogkommunikation.de> Date: Fri, 27 Jan 2017 08:01:21 +0100 Subject: [PATCH] added optional SERVER_REDIRECT_PATH Env Var to be able to define destination URL-Path for all source URLs --- README.md | 4 ++++ default.conf | 2 +- docker-compose.yml | 3 +++ run.sh | 6 ++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 122ddeb..f1a1550 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,9 @@ A very simple container to redirect HTTP traffic to another server, based on `ng ### Environment variables - `SERVER_REDIRECT` - server to redirect to, eg. `www.example.com` +- `SERVER_REDIRECT_PATH` - optionally define path to redirect all requests eg. `/landingpage` + if not set nginx var `$request_uri` is used + See also `docker-compose.yml` file. @@ -25,6 +28,7 @@ With `docker-compose` With `docker` docker run -e SERVER_REDIRECT=www.example.com -p 8888:80 schmunk42/nginx-redirect + docker run -e SERVER_REDIRECT=www.example.com -e SERVER_REDIRECT_PATH=/landingpage -p 8888:80 schmunk42/nginx-redirect --- diff --git a/default.conf b/default.conf index 966cdb2..84c7bb0 100644 --- a/default.conf +++ b/default.conf @@ -2,7 +2,7 @@ server { listen 80; server_name localhost; - return 301 $scheme://${SERVER_REDIRECT}$request_uri; + return 301 $scheme://${SERVER_REDIRECT}${SERVER_REDIRECT_PATH}; # redirect server error pages to the static page /50x.html # diff --git a/docker-compose.yml b/docker-compose.yml index 1ffa791..85f8a22 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,3 +4,6 @@ to: - "8888:80" environment: - SERVER_REDIRECT=www.example.com + # optionally define path to redirect all requests + # if not set nginx var is used + #- SERVER_REDIRECT_PATH=/landingpage diff --git a/run.sh b/run.sh index d729387..c7d342d 100644 --- a/run.sh +++ b/run.sh @@ -5,6 +5,12 @@ if [ ! -n "$SERVER_REDIRECT" ] ; then exit 1 fi +# set redirect path from optional ENV var +if [ ! -n "$SERVER_REDIRECT_PATH" ] ; then + SERVER_REDIRECT_PATH='$request_uri' +fi + sed -i "s|\${SERVER_REDIRECT}|${SERVER_REDIRECT}|" /etc/nginx/conf.d/default.conf +sed -i "s|\${SERVER_REDIRECT_PATH}|${SERVER_REDIRECT_PATH}|" /etc/nginx/conf.d/default.conf nginx -g 'daemon off;' -- GitLab