From 19eaabc6100bb12b6758b5040476f0448ebbaac3 Mon Sep 17 00:00:00 2001 From: ms Date: Wed, 1 Dec 2021 14:02:10 +0100 Subject: taler-local, fix links depending on X-Forwarded-* --- bin/WIP/taler-local | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/bin/WIP/taler-local b/bin/WIP/taler-local index efc5cc0..7c495ff 100755 --- a/bin/WIP/taler-local +++ b/bin/WIP/taler-local @@ -448,11 +448,16 @@ CURRENCY = "EUR" @cli.command() @click.option( - "--x-forwarded-port", metavar="PORT", - help="Instruct Nginx to set PORT as the X-Forwarded-Port.", - default="8080" + "--x-forwarded-host", metavar="HOST", + help="Instruct Nginx to set HOST as the X-Forwarded-Host.", + default="localhost:8080" ) -def prepare(x_forwarded_port): +@click.option( + "--x-forwarded-proto", metavar="PROTO", + help="Instruct Nginx to set PROTO as the X-Forwarded-Proto.", + default="http" +) +def prepare(x_forwarded_host, x_forwarded_proto): """Generate configuration, run-time blobs, instances, euFin accounts.""" @@ -1170,15 +1175,18 @@ def prepare(x_forwarded_port): cmd = f"{TALER_PREFIX}/bin/taler-merchant-demos landing -c {CFG_OUTDIR / 'taler.conf'}", env = TALER_UNIT_FILES_DIR / "taler-local-frontends.env" )) + def get_link(path): + return x_forwarded_proto + "://" + x_forwarded_host + path + with open(TALER_UNIT_FILES_DIR / "taler-local-frontends.env", "w") as frontends_env: frontends_env.write(( f"PATH={os.environ.get('PATH')}\n" f"TALER_CONFIG_FILE={CFG_OUTDIR / 'taler.conf'}\n" - f"TALER_ENV_URL_INTRO={REV_PROXY_URL + '/landing/'}\n" - f"TALER_ENV_URL_BANK={SANDBOX_URL + '/'}\n" - f"TALER_ENV_URL_MERCHANT_BLOG={REV_PROXY_URL + '/blog/'}\n" - f"TALER_ENV_URL_MERCHANT_DONATIONS={REV_PROXY_URL + '/donations/'}\n" - f"TALER_ENV_URL_MERCHANT_SURVEY={REV_PROXY_URL + '/survey/'}\n" + f"TALER_ENV_URL_INTRO={get_link('/landing/')}\n" + f"TALER_ENV_URL_BANK={get_link('/sandbox/')}\n" + f"TALER_ENV_URL_MERCHANT_BLOG={get_link('/blog/')}\n" + f"TALER_ENV_URL_MERCHANT_DONATIONS={get_link('/donations/')}\n" + f"TALER_ENV_URL_MERCHANT_SURVEY={get_link('/survey/')}\n" )) with open(TALER_UNIT_FILES_DIR / "taler-local-nginx.service", "w") as nginx_unit: nginx_unit.write(unit_file_content( @@ -1257,8 +1265,8 @@ def prepare(x_forwarded_port): f"proxy_pass http://unix:{UNIX_SOCKETS_DIR}/$component.sock:/$taler_uri?$args;\n" "proxy_redirect off;\n" "proxy_set_header X-Forwarded-Prefix /$component;\n" - f"proxy_set_header X-Forwarded-Host {REV_PROXY_HOSTNAME}:{x_forwarded_port};\n" - f"proxy_set_header X-Forwarded-Proto {REV_PROXY_PROTO};\n" + f"proxy_set_header X-Forwarded-Host {x_forwarded_host};\n" + f"proxy_set_header X-Forwarded-Proto {x_forwarded_proto};\n" "}\n" "}\n" "}\n" -- cgit v1.2.3