带有nginx代理的POCO HttpServer

时间:2011-04-30 17:30:36

标签: c++ proxy nginx poco-libraries

我最近遇到了POCO project的c ++并且非常感兴趣。它还有一个我想要玩的内置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;
        }
}

1 个答案:

答案 0 :(得分:1)

你得到的是分块编码响应。 4是具有内容“test”的块的长度。分块消息标记结尾的0。 大多数人都不会在响应中添加Transfer-Encoding:chunked头。