标题可能有点模糊,但我的目标是:我有一个前端web服务器,它接收传入的HTTP请求,对它们进行一些预处理,然后将请求传递到我的realweb服务器以获得HTTP响应,然后将其传回给客户机。在
目前,我的前端是基于BaseHTTPServer.HTTPServer
构建的,后端是CherryPy。在
所以问题是:有没有一种方法可以将这些HTTP请求/客户端连接插入CherryPy服务器以获得HTTP响应?一个明显的解决方案是在本地端口或使用UNIX域套接字运行CherryPy后端实例,然后前端web服务器与后端建立连接并中继任何请求/响应。显然,由于开销过大,这并不理想。在
我真正想要的是CherryPy后端不是绑定到任何端口,而是坐在那里等待前端传递客户端的套接字(以及修改后的HTTP请求信息),此时它会执行正常的CherryPy魔术,并将请求直接返回给客户端。在
我一直在仔细阅读CherryPy的源代码以找到实现这一点的方法,目前正在尝试修改wsgiserver.CherryPyWSGIServer
,但它变得相当棘手,可能不是最好的方法。在
在Handling HTTP/1.1 Upgrade requests in CherryPy处回答了升级问题。不知道这是否能解决这个问题。在
你的主应用程序是wsgi应用程序吗?如果是这样,您可以编写一些middleware来包装它,并在传递到主应用程序之前完成所有的请求争用。在
如果这是可能的,它将避免您不得不运行两个web服务器和所有您遇到的问题。在
相关问题 更多 >
编程相关推荐