我已将 nginx 设置为为 Flask 应用提供 uWSGI。有时会出现错误,或者我将重新启动 uWSGI 服务,但我希望 nginx 提供更好的维护页面,而不是在 uWSGI 没有响应时发生的默认 502 Bad Gateway。我尝试了多个应该执行此操作的配置,但似乎都没有任何效果。这是我当前的配置:
server {
listen 80;
server_name mydomain.com;
charset utf-8;
client_max_body_size 75M;
location / {
try_files $uri @flask;
error_page 502 =200 @maintenance;
}
location @flask {
include uwsgi_params;
uwsgi_pass unix:/path/to/socket/uwsgi.sock;
}
location @maintenance {
root /path/to/web;
rewrite ^(.*)$ /maintenance.html break;
}
}
答案1
error_page
指令应该位于@flask
位置。可能您也需要uwsgi_intercept_errors on;
在那里。