我试图在Apache后面使用mod_rewrite运行CherryPy,正如CherryPy文档(BehindApache,ModRewrite)中描述的那样,但是它不起作用。在
编辑:之前,我对这个问题的描述有些不准确。在我的一些尝试中,我似乎忘记了重新启动Apache。我对这个问题作了重大修改。在
当我运行我的程序(一个非常简单的“hello world”程序,类似于CherryPy附带的第一个教程文件),它似乎运行得很好。如果我从我的服务器上运行curl "http://127.0.0.1:8080"
,我可以看到输出,并且在CherryPy日志中看到它的某种记录。在
但是,如果我试图从我的浏览器访问该站点,我会收到一个403禁止的错误,说“您没有访问/此服务器的权限。”。我在CherryPy日志里没看到任何记录。我试着把重写规则(RewriteRule ^(.*) http://127.0.0.1:8080$1 [proxy]
)放在我的httpd.conf文件,有斜杠和没有斜杠,两次我都得到相同的错误。在我的Apache错误日志中,我看到如下行:
[Mon Sep 27 15:54:11 2010] [error] [client 123.45.67.89] attempt to make remote request from mod_rewrite without proxy enabled: proxy:http://127.0.0.1:8080/
我试着把RewriteRule放到我站点的.htaccess文件中,结果发现404个未找到的错误,错误日志中有这样的行:
[Mon Sep 27 13:31:54 2010] [error] [client 123.45.67.89] Attempt to serve directory: proxy:http://127.0.0.1:8080/
我还是没有在CherryPy日志中看到任何条目。在
我决定看看如果我不运行CherryPy就访问这个站点会发生什么,我得到了同样的结果。如果我插入代码,就好像Apache试图与CherryPy程序通信,但没有成功httpd.conf当我把线放进去的时候完全没有意识到。在
这里有人知道为什么会发生这种事吗?有人知道该怎么办吗?我想尽一切办法都试过了。我的站点运行在一个DreamHost私有服务器上,Debian4.3.2-1.1、Apache2.2.15、Python2.6.5和Cherrypy3.1.2。在
编辑2:lazy1,我试过你的建议,但没用。我得到同样的403个错误。在
您可能希望尝试将cherrypy绑定到0.0.0.0(所有接口)
我在Apache后面运行CherryPy的方式非常相似。Apache本身提供静态内容,任何以“cp”开头的url都由CherryPy提供服务。CherryPy在8500端口监听。以下是对我有用的httpd.conf公司名称:
这是在VirtualHost定义内(好吧,RewriteMap行在它外面,但是您可以看到图片)
显然你必须确保mod_proxy正在加载。同时检查RewriteRule documentation。在
在我的CherryPy配置中,我有:
^{pr2}$祝你好运!在
相关问题 更多 >
编程相关推荐