File tree Expand file tree Collapse file tree 2 files changed +23
-3
lines changed
src/simcore_service_webserver Expand file tree Collapse file tree 2 files changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -58,7 +58,8 @@ echo "$INFO" "GUNICORN_CMD_ARGS: $GUNICORN_CMD_ARGS"
5858if [ " ${SC_BOOT_MODE} " = " debug" ]; then
5959 # NOTE: ptvsd is programmatically enabled inside of the service
6060 # this way we can have reload in place as well
61- exec python -Xfrozen_modules=off -m debugpy --listen 0.0.0.0:" ${WEBSERVER_REMOTE_DEBUGGING_PORT} " -m gunicorn simcore_service_webserver.cli:app_factory \
61+ exec python -Xfrozen_modules=off -m debugpy --listen 0.0.0.0:" ${WEBSERVER_REMOTE_DEBUGGING_PORT} " -m \
62+ gunicorn simcore_service_webserver.cli:create_app_runner \
6263 --log-level=" ${SERVER_LOG_LEVEL} " \
6364 --bind 0.0.0.0:8080 \
6465 --worker-class aiohttp.GunicornUVLoopWebWorker \
@@ -71,13 +72,16 @@ if [ "${SC_BOOT_MODE}" = "debug" ]; then
7172
7273else
7374
74- exec gunicorn simcore_service_webserver.cli:app_factory \
75+ exec gunicorn simcore_service_webserver.cli:create_app_runner \
7576 --log-level=" ${SERVER_LOG_LEVEL} " \
7677 --bind 0.0.0.0:8080 \
7778 --worker-class aiohttp.GunicornUVLoopWebWorker \
7879 --workers=" ${WEBSERVER_GUNICORN_WORKERS:- 1} " \
7980 --name=" webserver_$( hostname) _$( date +' %Y-%m-%d_%T' ) _$$ " \
8081 --access-logfile=' -' \
8182 --access-logformat=' %a %t "%r" %s %b [%Dus] "%{Referer}i" "%{User-Agent}i"' \
82- --worker-tmp-dir=/dev/shm
83+ --worker-tmp-dir=/dev/shm \
84+ --limit-request-line 4094 \
85+ --limit-request-fields 100 \
86+ --limit-request-field_size 8190
8387fi
Original file line number Diff line number Diff line change @@ -83,6 +83,22 @@ async def app_factory() -> web.Application:
8383 return app
8484
8585
86+ _ACCESS_LOG_FMT = '%a %t "%r" %s %b [%Dus] "%{Referer}i" "%{User-Agent}i"'
87+
88+
89+ async def create_app_runner () -> web .AppRunner :
90+
91+ app = await app_factory ()
92+
93+ # Rejects requests that are oversized. Fixes https://github.com/ITISFoundation/osparc-simcore/issues/7979
94+ return web .AppRunner (
95+ app ,
96+ access_log_format = _ACCESS_LOG_FMT ,
97+ max_line_size = 4094 , # request line & single header line cap
98+ max_field_size = 8190 , # per-header field cap
99+ )
100+
101+
86102# CLI -------------
87103
88104main = typer .Typer (name = "simcore-service-webserver" )
You can’t perform that action at this time.
0 commit comments