我正在本地主机的端口 8001 和带有 mod_proxy 的 apache2 上运行twisted.web.server。 Apache根据以下配置设置为代理
http://localhost/jarvis ----> http://localhost:8001/
此规则的 httpd 配置是
ProxyPass /jarvis http://localhost:8001/
ProxyPassReverse /jarvis http://localhost:8001/
扭曲应用程序的服务器配置代码片段如下:
if __name__ == '__main__':
root = Resource()
root.putChild("clientauth", boshProtocol())
logging.basicConfig()
factory = Site(root)
reactor.listenTCP(8001, factory)
reactor.run()
当我去
http://localhost:8001/clientauth
它按预期运行。 但是当我使用
http://localhost/jarvis/clientauth
它给出错误 - “没有这样的子资源。” 据我了解 - 请求被正确代理到扭曲的网络服务器。但是为什么子资源没有被识别呢?
最佳答案
您缺少 RewriteRule。我还没有测试过,但解决你的问题或多或少是这样的:
RewriteRule ^/jarvis/(.*)/$1
请务必启用 mod_rewrite。
这是我通常引用的链接:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
祝你好运!
关于python - apache 后面的扭曲 Web 服务器 - 找不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14058089/