From ebef3dfa5766ec576ce10d8521c9aa5414d36f40 Mon Sep 17 00:00:00 2001 From: kqjy Date: Sat, 22 Nov 2025 16:16:10 +0800 Subject: [PATCH] Second test for Server Header change --- app/__init__.py | 17 ++++++++++++++++- docker-entrypoint.sh | 4 ++-- gunicorn.conf.py | 3 --- 3 files changed, 18 insertions(+), 6 deletions(-) delete mode 100644 gunicorn.conf.py diff --git a/app/__init__.py b/app/__init__.py index a3b8989..ef8b4b2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -25,6 +25,21 @@ from .storage import ObjectStorage from .version import get_version +class ServerHeaderMiddleware: + def __init__(self, app, server_name): + self.app = app + self.server_name = server_name + + def __call__(self, environ, start_response): + def custom_start_response(status, headers, exc_info=None): + # Remove existing Server header if present + headers = [(name, value) for name, value in headers if name.lower() != 'server'] + headers.append(('Server', self.server_name)) + return start_response(status, headers, exc_info) + + return self.app(environ, custom_start_response) + + def create_app( test_config: Optional[Dict[str, Any]] = None, *, @@ -50,6 +65,7 @@ def create_app( # Trust X-Forwarded-* headers from proxies app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1) + app.wsgi_app = ServerHeaderMiddleware(app.wsgi_app, "MyFSIO") _configure_cors(app) _configure_logging(app) @@ -215,5 +231,4 @@ def _configure_logging(app: Flask) -> None: }, ) response.headers["X-Request-Duration-ms"] = f"{duration_ms:.2f}" - response.headers["Server"] = "MyFSIO" return response diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 274d611..6fbaf2e 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -2,7 +2,7 @@ set -e # Start API server in background -gunicorn "app:create_api_app()" -c gunicorn.conf.py --bind 0.0.0.0:5000 --workers 4 --access-logfile - & +gunicorn "app:create_api_app()" --bind 0.0.0.0:5000 --workers 4 --access-logfile - & # Start UI server in foreground -gunicorn "app:create_ui_app()" -c gunicorn.conf.py --bind 0.0.0.0:5100 --workers 4 --access-logfile - +gunicorn "app:create_ui_app()" --bind 0.0.0.0:5100 --workers 4 --access-logfile - diff --git a/gunicorn.conf.py b/gunicorn.conf.py deleted file mode 100644 index 80964a3..0000000 --- a/gunicorn.conf.py +++ /dev/null @@ -1,3 +0,0 @@ -import gunicorn -gunicorn.SERVER = 'MyFSIO' -