CherryPy меняет мой код ответа

В моем приложении Python, использующем mod_wsgi и cherrypy поверх Apache, мой код ответа изменяется на 500 с 403. Я явно устанавливаю это значение на 403.

то есть cherrypy.response.status = 403

Я не понимаю, где и почему код ответа, который получает клиент, равен 500. Есть ли у кого-нибудь опыт решения этой проблемы >


person Mohan Gulati    schedule 21.01.2010    source источник


Ответы (1)


Ошибка HTTP 500 используется для внутренних ошибок сервера. Что-то на сервере или в вашем приложении, вероятно, вызывает исключение, поэтому независимо от того, какой код ответа вы установили до этого, CherryPy отправит обратно 500.

Вы можете изучить любые инструменты, которые CherryPy включает в себя для отладки или ведения журнала (я с ними не знаком). Вы также можете установить точки останова в своем коде и продолжить работу с внутренними компонентами CherryPy, пока не возникнет ошибка.

person Michael Greene    schedule 21.01.2010
comment
Да, посмотрите в журналах ошибок Apache, потому что, если ошибка 500 исходит из базы фреймворка CherryPy или mod_wsgi, там должно быть сообщение об этом. - person Graham Dumpleton; 21.01.2010
comment
Журналы не показывают никаких проблем. Похоже, что mod_wsgi берет мой URL-адрес и каким-то образом перенаправляет его, но я понятия не имею, почему и как это отлаживать. - person Mohan Gulati; 21.01.2010