这是设置。 我有一台服务器运行Apache / PHP托pipeownCloud。 除此之外,我正在使用CardDAV联系人同步。 为了使我的域名与我的域名一起工作,我在前端运行了一个nginx服务器,作为ownCloud服务器的反向代理。 我的nginxconfiguration如下:
server { listen 80; server_name cloud.mydomain.com; location / { proxy_set_header X-Forwarded-Host cloud.mydomain.com; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Forwarded-For $remote_addr; client_max_body_size 0; proxy_redirect off; proxy_pass http://server; } }
问题是,当我的手机在服务器上做一个PROPFIND时,nginx添加额外的字符到内容主体,把手机closures。 具体来说,它前面的d611\r\n在身体的前面,并附加0\r\n\r\n到内容的末尾。 (我从wireshark那里得到了这个)。它也重组了结果。 如何让nginx发送原始内容?
您看到的其他字符是分块传输编码格式 。 数字是块的长度, \r\n是分隔符。 看来,手机不支持分块传输编码(虽然如果它声明它支持HTTP 1.1它应该)。 您可以使用chunked_transfer_encoding指令禁用分块传输编码。
chunked_transfer_encoding off;