Я пытаюсь запустить CherryPy за Apache с помощью mod_rewrite, как описано в документации CherryPy (BehindApache, ModRewrite), и он не работает.
Изменить: ранее мое описание этой проблемы было несколько неточным. Кажется, я забыл перезапустить Apache во время некоторых моих попыток. Я существенно пересмотрел вопрос.
Когда я запускаю свою программу (очень простую программу «hello world», похожую на первый обучающий файл, поставляемый с CherryPy), кажется, что она работает нормально. Если я запускаю curl "http://127.0.0.1:8080"
со своего сервера, я вижу результат и какую-то запись об этом в журнале CherryPy.
Однако, если я попытаюсь получить доступ к сайту из своего браузера, я получаю сообщение об ошибке 403 Forbidden, говорящее: «У вас нет разрешения на доступ к / на этом сервере». Я не вижу никаких записей об этом в журнале CherryPy. Я попытался поместить RewriteRule (RewriteRule ^(.*) http://127.0.0.1:8080$1 [proxy]
) в соответствующий раздел VirtualHost моего файла httpd.conf как с косой чертой, так и без нее, и оба раза я получил одну и ту же ошибку. В моем журнале ошибок Apache я вижу такие строки:
[Пн, 27 сентября, 15:54:11 2010] [ошибка] [клиент 123.45.67.89] попытка сделать удаленный запрос из mod_rewrite без включенного прокси: прокси:http://127.0.0.1:8080/
Вместо этого я попытался поместить RewriteRule в файл .htaccess моего сайта и получил ошибку 404 Not Found с такими строками в моем журнале ошибок:
[Пн, 27 сентября, 13:31:54 2010] [ошибка] [клиент 123.45.67.89] Попытка обслуживать каталог: прокси:http://127.0.0.1:8080/
Я по-прежнему не видел никаких записей в журнале CherryPy.
Я решил посмотреть, что произойдет, если я попытаюсь получить доступ к сайту без запущенного CherryPy, и получил то же самое. Как будто Apache безуспешно пытается связаться с программой CherryPy, если я помещаю строку в httpd.conf, и совершенно не подозревает об этом, когда я помещаю строку в .htaccess.
Кто-нибудь здесь знает, почему это происходит, и что с этим делать? Я пробовал все, что мог придумать. Мой сайт работает на частном сервере DreamHost с Debian 4.3.2-1.1, Apache 2.2.15, Python 2.6.5 и CherryPy 3.1.2.
Редактировать 2: lazy1, я попробовал ваше предложение, и это не помогло. Я получаю те же ошибки 403.