我最近遇到了用于 c++ 的POCO 项目,并且对此非常感兴趣。它还有一个我想玩的内置 HttpServer。
我按照示例构建了一个简单的 http 服务器,侦听端口 8000。然后我将我的 nginx 配置为 proxy_pass 所有请求到端口 8000。
使用代理,浏览器将内容大小显示为第一个字符,并在尾部添加 0 字符。例如,我只用来自 HttpServer 的“test”字符串响应,然后在浏览器端响应是“4 test 0”。当我直接访问端口 8000 时,响应正确显示,没有任何数字。
因为当我将它与 nginx 代理一起使用时会出现问题,所以我认为我的代理设置有问题。我阅读了nginx 的代理配置wiki 页面,但不知道为什么会发生这种情况。
我的 nginx 配置如下,
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;
}
}