Как вернуть страницу ошибки apache из приложения wsgi? - PullRequest
4 голосов
/ 11 сентября 2010

У меня есть простое рабочее приложение wsgi. Я могу успешно вернуть любой код состояния HTTP, заголовки и HTML, которые я хочу. Я хотел бы, чтобы при возвращении кода состояния , отличного от , кроме '200 OK', WSGI позволил apache вернуться к обработке ошибок и отобразить любую страницу, настроенную для отображения apache в соответствии с настройкой ErrorDocument.

Например, это нормально работает, когда мое приложение WSGI аварийно завершает работу, и я вижу страницу по умолчанию «внутренняя ошибка сервера» из apache.

Мой вопрос: как я могу сделать это контролируемым, преднамеренным образом? Например, я могу выполнить свою собственную аутентификацию и вернуться к странице Apache по умолчанию, которую я настроил.

Есть идеи?

1 Ответ

5 голосов
/ 12 сентября 2010

Предполагая, что вы на самом деле имеете в виду mod_wsgi в Apache, убедитесь, что вы используете режим mod_wsgi daemon и установите:

WSGIErrorOverride On

В примечаниях к выпуску mod_wsgi версии 3.0 есть краткое описание.

http://code.google.com/p/modwsgi/wiki/ChangesInVersion0300

Если вы используете Apache в качестве прокси-сервера перед отдельным веб-сервером Python, на котором выполняется приложение WSGI, используйте вместо этого директиву Apache ProxyErrorOverride.

...