2016-06-22 22 views
2

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?

Antwort

1

Ihre Nginx-Version ist ziemlich alt. Versuchen Sie es zu aktualisieren.

+0

Funktioniert mit nginx 1.10.1 tatsächlich! – alexislg