带nginx代理的POCO HttpServer
问题描述:
我最近遇到了C++的POCO project,对它很感兴趣。它也有一个内置的HttpServer,我想玩。带nginx代理的POCO HttpServer
我下面的实例和构建一个简单的HTTP服务器侦听端口8000。然后,我在配置我的nginx到proxy_pass到端口8000
随着代理的所有请求,浏览器显示内容的大小作为非常第一个字符并将0字符添加到尾部。例如,我只是用HttpServer的“test”字符串进行响应,然后在浏览器端响应是“4 test 0”。当我直接访问端口8000时,响应正确显示,没有任何数字。
因为问题发生时,我用它与nginx代理,所以我认为有关我的代理设置有问题。我阅读了nginx的proxy configuration wiki页面,但不知道为什么会发生这种情况。
我的nginx的conf如下,
upstream pocotest {
server 127.0.0.1:8000;
}
server {
listen 80;
server_name localhost;
location/{
proxy_pass http://pocotest;
proxy_set_header X-Real-Ip $remote_addr;
proxy_buffering on;
proxy_pass_request_body on;
proxy_pass_request_headers on;
}
}
答
你找回什么是分块编码的响应。 4是内容为“测试”的块的长度。分块消息标记末尾的0。 大多数情况下,nginx并没有将Transfer-Encoding:chunked头添加到响应中。