Просмотр исходного кода

Let reverse proxies overwrite script name

Reverse proxies can overwrite the script name with the HTTP header field X-Script-Name.
Unrud 9 лет назад
Родитель
Сommit
83046c80c4
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      radicale/__init__.py

+ 5 - 0
radicale/__init__.py

@@ -307,6 +307,11 @@ class Application:
         headers = pprint.pformat(self.headers_log(environ))
         self.logger.debug("Request headers:\n%s", headers)
 
+        # Let reverse proxies overwrite SCRIPT_NAME
+        if "HTTP_X_SCRIPT_NAME" in environ:
+            environ["SCRIPT_NAME"] = environ["HTTP_X_SCRIPT_NAME"]
+            self.logger.debug("Script name overwritten by client: %s",
+                              environ["SCRIPT_NAME"])
         # Sanitize base prefix
         environ["SCRIPT_NAME"] = storage.sanitize_path(
             environ.get("SCRIPT_NAME", "")).rstrip("/")