0
回答
NGINX反向代理文件服务器,页面无法获取返回的流
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

本人java程序员,多年前出于好奇,用nodejs写了一个文件服务器,在生产环境也运行许久,直接用浏览器没问题,但是通过nginx反向代理后页面呈现空白。(估计浏览器和我一样 都是一脸懵逼)

用浏览器通过http直接请求文件服务器,可以正常工作,获取资源效果为:如果是图片直接显示到页面上;如果是文件弹出下载提示框。以上是在文件服务器上设置response达成的。


但是今儿通过nginx对文件服务器进行了反向代理,通过代理地址访问,页面呈现出一片空白,没有任何反应。

nginx代码片段:

upstream FileServer {
      ip_hash;
      server x.x.x.x:port weight=1 max_fails=2 fail_timeout=30s;
    }

location /FileServer/ {
            proxy_pass        http://FileServer;
            proxy_set_header  Host  $host;
            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect    off;
        }

nodejs代码片段:

response.writeHead(200, {'Content-Type': contentType});
                        response.write(results.two, 'binary');
                        response.end();
简单点理解就是直接向response写二进制流。

请问我需要对nginx做些什么才能让以上功能可用?

请大神指点,多谢!

举报
wowxhycoming
发帖于1年前 0回/557阅
顶部