hier ist meine Server-Architektur hochgeladen werden:Empfangen 411 Fehler mit HAProxy + rn de, wenn sie mit aufgeteilte Codierung
Port 443 -> haproxy 1.6.3 -> nginx 1.1.19 -> uwsgi 2.0.13.1 - > wsgi python-Server (Django)
ich weiß, es ist seltsam, beide haproxy verwenden + nginx aber ich habe keine andere Wahl, weil ich für ein anderes Projekt auf dem gleichen Server auf Port 443.
hier ist mein haproxy Config haproxy brauchen :
frontend www-https
bind *:443 ssl crt /etc/ssl/private/
mode http
option httpclose
acl nginx hdr_end(host) -i example.com
backend nginx
mode http
balance leastconn
option forwardfor
option http-server-close
option forceclose
no option httpclose
server nginx-01 nginx:52654 check
und hier ist meine nginx Config
server {
listen 52654 default_server;
charset utf-8;
client_max_body_size 75M;
chunked_transfer_encoding on;
location/{
uwsgi_pass django;
proxy_buffering off;
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
}
}
Problem ist, dass ich, wenn ich ein Upload machen Wuth ein Web-Client aufgeteilte Codierung, erhalte ich den 411 HTTP-Fehler Content-Length erforderlich.
Wenn ich Haproxy umgehen, funktioniert es gut. Aber die Verwendung von haproxy + nginx gibt mir den 411-Fehler für die Chunked-Codierung.
Irgendeine Idee?
Funktioniert mit nginx 1.10.1 tatsächlich! – alexislg