Ist es möglich, die benutzerdefinierten Fehlerseiten von nginx zu deaktivieren - wenn ich sie so nennen darf -, um die Ausnahmeseiten meines Frameworks anzuzeigen?nginx + uwsgi + flask - Deaktivieren von benutzerdefinierten Fehlerseiten
ich nicht wirklich mein werkzeug Debugger-Tool generierte in html sehen ...
UPDATE
OK, ich habe eine sehr einfache Kolben-Anwendung machen zu arbeiten und ich Post die Bits:
/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 Umgebungsvariable:
$ echo $PYTHONPATH
/home/my_user/dev/
Wie ich laufen uwsgi:
$ uwsgi -s /tmp/uwsgi.sock --module nginx_test --callable app
Wie ich nginx laufen :
$ nginx -c ~/.virtualenvs/nginx-test/etc/nginx.conf -p ~/.virtualenvs/nginx-test/lib/nginx/
Wenn ich die Root-Seite getroffen:
Wenn ich nginx manuell ausführen, wie:
python /home/my_user/dev/nginx_test/___init___.py
ich stattdessen sehen, und dem, was ich sehen will:
Natürlich habe ich sichergestellt, dass es funktionieren würde, wenn ich nicht die Ex erhöhe ception, aber gab 'Hallo Welt' zum Beispiel auf meine index() -Funktion zurück.
Dies wird benutzerdefinierte Fehlerseiten in .NET bezeichnet. Ich möchte dies deaktivieren und lassen Sie Nginx/uwsgi die HTML übergeben von dem Debugger direkt an den Browser statt der internen Server-Fehler.
UPDATE 2
Nun, wenn ich meinen Kolben-App von Debug-Modus zu aktivieren ändern:
/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)
Dann bekomme ich 502 Fehler.
Aber wenn ich statt raise Ausnahme:
/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)
ich 'Hallo Welt' in meinem Browser, wenn ich die Seite getroffen (http://localhost:5000).
Wäre besser in der Frage anzugeben, auf welchen Fehlerseiten Sie Probleme haben, z. 502 – number5
Vielen Dank für Ihren Vorschlag, ich habe eine ganze Menge neuer Informationen hinzugefügt, die hoffentlich helfen würden, das Problem herauszufinden. –