nginx proxy_pass打开了太多文件

时间:2015-07-08 16:23:01

标签: nginx

我得到的似乎只是一个常见的操作系统级别“太多打开的文件”错误,堆栈溢出已经存在解决方案。

我要确认的是,我并没有强制使用奇怪的proxy_pass循环。

当我去myapp.com时,所有内容都按预期加载。 当我转到customdomain.com时,我得到500,日志显示为Too many open files

我担心设置Host标头的底部的proxy_pass会导致请求总是返回到同一个服务器块。

更奇怪的是,当我有一个盒子(即proxy_pass将请求发送到同一个盒子)时,我得到500错误。但是,如果我将proxy_pass后端移动到google.com,那么代理就可以了。

我该怎么做才能确定这是我的VM的操作系统级别问题,还是我强行重定向?

以下是配置:

server {
    listen   80 default;
    server_name  myapp.com;

    root   /usr/share/myapp/;
    index  index.php index.html;

    location / {
            try_files $uri $uri/ /control.php?$uri/;
   }
}

server {
    listen   80;
    server_name  customdomain.com;

    location / {
        resolver 8.8.8.8 valid=10s;
        set $backend "http://myapp.com";

        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass $backend;
    }
}

0 个答案:

没有答案