面对一个问题:如果GET请求提供的非零Content-Length属性,并且没有正文,nginx将不会代理此请求。如何复制它的示例:
nginx version: nginx/1.10.3 (Ubuntu)
# conf.d/main.conf
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:5060;
}
}
通过netcat监听5060端口时:nc -l -p 5060
之后,发出CURL请求:
curl -vvv -X GET http://example.com/ -H 'Content-Length: 1'
此请求将在默认proxy_send_timeout
60秒后关闭。
据我了解,Nginx看到Content-Length并在将请求传输到代理之前等待正文。如何解决它,而无需更改请求头?
请注意:我尝试使用Haproxy-尽管Content-Length非零且主体为零,但它仍然可以工作。