POCO HttpServer с прокси nginx - PullRequest
       22

POCO HttpServer с прокси nginx

2 голосов
/ 30 апреля 2011

Я недавно сталкивался с POCO проектом для c ++ и очень заинтересовался этим.У него также есть встроенный HttpServer, с которым я хочу поиграть.

Я слежу за примерами и собрал простой http-сервер, прослушивающий порт 8000. Затем я настраиваю свой nginx для proxy_pass все запросы на порт 8000.

При использовании прокси браузер отображает размер содержимого в качестве самого первого символа и добавляет 0 символов к хвосту.Например, я отвечаю только «тестовой» строкой из HttpServer, а затем на стороне браузера ответ «4 test 0».Когда я получаю прямой доступ к порту 8000, ответ отображается правильно без каких-либо цифр.

Поскольку проблема возникает, когда я использую ее с прокси-сервером nginx, я подумал, что что-то не так с настройками моего прокси.Я прочитал конфигурацию прокси вики-страницу nginx, но не смог понять, почему это происходит.

мой конф 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;
        }
}

1 Ответ

1 голос
/ 10 апреля 2012

То, что вы получаете, является закодированным ответом. 4 - длина фрагмента с содержимым «тест». 0 в конце маркера фрагментированного сообщения. Большинство likley nginx не добавляет к ответу заголовок Transfer-Encoding: chunked.

...