Why is chunked transfer encoding not allowed to web applications running in CloudBees run@cloud?

StackOverflow https://stackoverflow.com/questions/14701264

I'm using an application that sends SOAP requests (HTTP POST) to my application running in CloudBees PaaS (run@cloud). The SOAP sender application gets the following error from the server: Transport error: 411 Error: Length Required. This means that it should not use chunked transfer encoding, because chunked doesn't send Content-length header which the server seems to want.

Is there some reason why chunked cannot be used? I'm aware that some web servers, like Apache, might have DOS vulnerabilities related to chunked transfer encoding. Is this the reason? Or is it because run@cloud uses Nginx as a proxy?

有帮助吗?

解决方案

You can now set the httpVersion end to end for your app:

To enable: httpVersion=1.1

for example, this is how WebSocket works:

https://developer.cloudbees.com/bin/view/RUN/WebSockets

You can and should also set proxyBuffering=false - (this is default for new apps).

其他提示

Cloudbees Nginx router indeed uses http 1.0 so don't have chunked transfert support. As we are working on websocket support, with a new version of NGinx, this may be available soon

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top