nginx反向代理和合并文件同时使用问题
发布于 2年前 作者 aamxy123 1205 次浏览

环境:OS X,

nginx-http-concat 个 nginx proxy_pass 同时开启时 配置如下: server { listen 8080; server_name localhost; autoindex on;

    location / {
        root   /Project;
        index  *;
        proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
        proxy_set_header   Connection "";
        proxy_pass http://0.0.0.0:3000;            
    }
    
    location /lib/ {
        concat on;
        concat_max_files 20;            
    }  
  }

使用expree后,127.0.0.1:3000/lib/下的js文件都提示404,将concat配置放到第一个location里面,合并还是无效 求教使用心得

7 回复

纯静态文件, 直接使用 nginx, 不用 node 呢/

求教下怎么部署,express设置了public,jade引用的都在public里

你都没有配置nginx root根目录啊,怎么找的到呢?

这样设置不会 出现404了,但是合并功能还是无效 server { listen 8080; server_name localhost; autoindex on; root /Project; #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        index  *;
        #concat on;
        #concat_max_files 20;                        
        proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
        proxy_set_header   Connection "";
        proxy_pass http://0.0.0.0:3000;            
    }
    
    location /xxx/lib/{
        concat on;
        concat_max_files 20;            
    } 
}

项目文件路径是 /Project/xxx 要合并的js文件是/Project/xxx/lib/*.js

@aamxy123 这个不是自动合并的,是要代码上面做改变的用逗号分隔文件名,多看看文档

@dengqiao 参考的是这里的 https://github.com/seajs/seajs/issues/337

不用node 也不开启proxy_pass,纯静态是可以合并的 但是开了 proxy_pass就不行了

@aamxy123 你的写法有问题,首先确认你的静态文件匹配到了/xxx/lib/ 路由,而不是location /路由

回到顶部