Nginx代理在38 kB之后停止

我有一个简单的nginx 1.4.6代理在专用的Ubuntu 14服务器上运行。 我的configuration如下所示:

server { listen 80; listen 443 ssl; listen [::]:80; listen [::]:443 ssl; server_name impequid.dodekeract.report; ssl_certificate /etc/letsencrypt/live/impequid.dodekeract.report/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/impequid.dodekeract.report/privkey.pem; location / { proxy_pass http://127.0.0.1:44400; proxy_set_header Host $host;proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 

当我试图达到这个文件,它发送一小部分后超时。 它总是停在同一条线上。

后端运行一个Node.js / Koa服务器,该文件可以直接加载,没有任何问题。

当通过nginx加载时,Koa在尝试写入时报告了一个坏的pipe道错误,因为问题只发生在nginx上,我不认为这是Koa的错。

任何想法我做错了什么?

首先检查nginx日志。 它可以帮助你(和我们)了解错误。

 tail -f /var/log/nginx/error.log 

可能的问题是nginx tmp文件夹的权限(用户所有者)不合格

 cd /var/lib/nginx/tmp/proxy/ && ls -la 

检查nginxconfiguration字段“user xxxx”(例如用户apache;“)

 grep "user " /etc/nginx/* 

find的用户必须是nginx tmp目录的所有者。 所以,例如,如果你的nginx用户是apache,并且nginx tmp dirs的所有者是anoter – 把它改为apache。

 chown -R apache:apache /var/lib/nginx/* 

还要检查内存/磁盘状态:

 htop df -h 

我希望它能帮助你

那么直接从nginx发送静态内容呢?

 location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root your/content/root/path; error_page 404 = @fallback; }