[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-deployment] branch master updated: fix X-Forwarded-* headers inse
From: |
gnunet |
Subject: |
[taler-deployment] branch master updated: fix X-Forwarded-* headers insertion |
Date: |
Wed, 13 Oct 2021 12:03:21 +0200 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository deployment.
The following commit(s) were added to refs/heads/master by this push:
new 577d02d fix X-Forwarded-* headers insertion
577d02d is described below
commit 577d02d3e2876578d9a0d9a904ba27170114c868
Author: ms <ms@taler.net>
AuthorDate: Wed Oct 13 12:03:09 2021 +0200
fix X-Forwarded-* headers insertion
---
bin/WIP/taler-local | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/bin/WIP/taler-local b/bin/WIP/taler-local
index 2ef61e2..9ed5a53 100755
--- a/bin/WIP/taler-local
+++ b/bin/WIP/taler-local
@@ -433,7 +433,13 @@ def bootstrap(list_repos, repos) -> None:
checkout_repos(load_repos(reposList))
class TalerReverseProxy(Flask):
- def __init__(self, log_dir, unix_sockets_dir):
+ def __init__(
+ self,
+ log_dir,
+ unix_sockets_dir,
+ proxy_proto,
+ proxy_netloc
+ ):
super().__init__("taler-proxy")
all_methods = [
"GET", "POST", "HEAD",
@@ -441,6 +447,8 @@ class TalerReverseProxy(Flask):
]
self.log_dir = log_dir
self.unix_sockets_dir = unix_sockets_dir
+ self.proxy_proto = proxy_proto
+ self.proxy_netloc = proxy_netloc
self.add_url_rule("/", view_func=self.index)
self.add_url_rule("/<component>", view_func=self.proxy,
methods=all_methods)
self.add_url_rule("/<component>/", view_func=self.proxy,
methods=all_methods)
@@ -498,9 +506,16 @@ class TalerReverseProxy(Flask):
method = s.put
if request.method == "DELETE":
method = s.delete
+ proxied_headers = {
+ "X-Forwarded-Host": self.proxy_netloc,
+ "X-Forwarded-Proto": self.proxy_proto,
+ "X-Forwarded-Prefix": f"/{component}"
+ }
+ for k, v in request.headers.items():
+ proxied_headers[k] = v
resp = method(
uri,
- headers=request.headers,
+ headers=proxied_headers,
data=raw_data,
)
except Exception as error:
@@ -509,10 +524,6 @@ class TalerReverseProxy(Flask):
self.logger.debug(f"Upstream responds: {resp.text}")
headers = Headers()
- headers.add("X-Forwarded-Host", REV_PROXY_NETLOC)
- headers.add("X-Forwarded-Proto", REV_PROXY_PROTO)
- headers.add("X-Forwarded-Prefix", f"/{component}")
-
for k in resp.headers.keys():
# This version does not send chunked responses, so
# remove that header when it's found. Content-Length
@@ -1154,7 +1165,12 @@ def prepare():
).run()
print(" OK")
print_nn("Launching the reverse proxy...")
- rev_proxy = TalerReverseProxy(LOG_DIR, UNIX_SOCKETS_DIR)
+ rev_proxy = TalerReverseProxy(
+ LOG_DIR,
+ UNIX_SOCKETS_DIR,
+ REV_PROXY_PROTO,
+ REV_PROXY_NETLOC
+ )
rev_proxy.start()
if not Command.is_serving(REV_PROXY_URL + "/"):
fail(f"Reverse proxy did not start correctly. \
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-deployment] branch master updated: fix X-Forwarded-* headers insertion,
gnunet <=