NGinx で error_page を使用して静的ファイルを提供することが可能であることは知っていますが、UWsgi 経由で提供されるローカル (ソケット化された) Flask アプリから URL を提供することが可能であるかどうか疑問に思っていました。
NGinx の設定は次のとおりです:
server {
listen 80;
server_name www.myproject.com;
access_log /var/log/nginx/myproject_frontend.access.log;
error_log /var/log/nginx/myproject_frontend.error.log;
# Something like :
error_page 404 uwsgi_pass unix:/tmp/uwsgi_myproject.sock;/errors/404
location / { try_files $uri @yourapplication; }
location @yourapplication {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi_myproject.sock;
}
}
これは可能ですか? ソケットの代わりにローカル (127.0.0.1) のみのアクセスを許可した場合、機能しますか?
ご意見ありがとうございます。
答え1
置き換えてみてください:
error_page 404 uwsgi_pass unix:/tmp/uwsgi_myproject.sock;/errors/404
による:
error_page 404 /errors/404;
location /errors/ {
uwsgi_intercept_errors on;
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi_myproject.sock;
}