ich habe eine Rails Anwendung mit einem reverse Proxy. In der Entwicklungsumgebung und auch in der Produktionsumgebung (wenn ich die Anwendung mit der IP-Adresse und dem Port aufrufe) läuft alles prächtig. Wenn ich die Anwendung über den Proxy mit www.myDomain.com und https aufrufe funktioniert auch alles, nur die File Uploads nicht. Ich kann im Browser sehen, dass etwa 70% hochgeladen sind, dann bleibt der Upload hängen und irgendwann kommt der Time Out.
Im Log der Anwendung sehe ich, dass der entsprechende controller nicht aufgerufen wird.
Im nginx.error.log sehe ich:
*1 upstream timed out (110: Connection timed out) while reading response header from upstream,
Hier meine Config:
upstream myApp {
server unix:///var/run/myapp.sock fail_timeout=0 ;
}
server {
listen 80;
server_name myapp.eu www.myapp.eu;
return 301 https://myapp.eu$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name myapp.eu www.myapp.eu;
ssl_certificate /etc/nginx/cert_myapp/public.crt;
ssl_certificate_key /etc/nginx/cert_myapp/ssl.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
root /var/www/myapp/public;
error_log /var/www/myapp/log/nginx_error.log warn;
access_log /var/www/myapp/log/nginx_access.log combined;
location /assets/ {
gzip_static on; # serve pre-gzipped version
expires 1M;
add_header Cache-Control public;
}
location / {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://myApp;
}
}