nginx + uwsgi + flask - отключение пользовательских страниц ошибок
Можно ли отключить пользовательские страницы ошибок nginx - если я могу их так называть - для отображения страниц исключений моей платформы?
Я не могу видеть, как мой инструмент отладчика werkzeug отображается в формате HTML ...
UPDATE
Хорошо, мне нужно сделать очень простое приложение для колб, и я опубликую эти фрагменты:
/home/my_user/.virtualenvs/nginx-test/etc/nginx.conf
worker_processes 1;
events { worker_connections 1024; }
http {
server {
listen 5000;
server_name localhost;
access_log /home/my_user/.virtualenvs/nginx-test/lib/nginx/access.log;
error_log /home/my_user/.virtualenvs/nginx-test/lib/nginx/error.log;
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi.sock;
}
}
}
/home/my_user/dev/nginx_test/___init___.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
raise Exception()
if __name__ == '__main__':
app.run('0.0.0.0', debug=True)
Переменная окружения PYTHONPATH:
$ echo $PYTHONPATH
/home/my_user/dev/
Как я запускаю uwsgi:
$ uwsgi -s /tmp/uwsgi.sock --module nginx_test --callable app
Как я запускаю nginx:
$ nginx -c ~/.virtualenvs/nginx-test/etc/nginx.conf -p ~/.virtualenvs/nginx-test/lib/nginx/
Если я попал на корневую страницу:
Если я запускаю nginx вручную, как:
python /home/my_user/dev/nginx_test/___init___.py
Я увижу вместо этого, и то, что я хочу видеть:
Конечно, я позаботился о том, чтобы это сработало, когда я не поднял исключение, а возвратил «Hello World». например, в моей функции index ().
Это относится к пользовательским страницам ошибок в .NET. Я хочу отключить это и позволить nginx / uwsgi передавать html, сгенерированный отладчиком, прямо в браузер вместо внутренней ошибки сервера.
UPDATE 2
Теперь, если я изменю свое приложение фляги, чтобы включить режим отладки:
/home/my_user/dev/nginx_test/___init___.py
from flask import Flask
app = Flask(__name__)
app.config.update(DEBUG=True)
@app.route('/')
def index():
raise Exception()
if __name__ == '__main__':
app.run('0.0.0.0', debug=True)
Тогда я получаю 502 ошибку.
Но если я вместо исключения возбуждаю
/home/my_user/dev/nginx_test/___init___.py
from flask import Flask
app = Flask(__name__)
app.config.update(DEBUG=True)
@app.route('/')
def index():
return 'Hello World'
if __name__ == '__main__':
app.run('0.0.0.0', debug=True)
Я получаю "Hello World" в моем браузере, когда я попал на страницу (HTTP: // локальный: 5000).