如何将 NGINX 连接到 PostgreSQL 以获得有效的虚拟主机域?

Eri*_*ric 5 database nginx

我让 nginx 监听端口 80,并将请求传递到端口 3000 上的 Meteor(包装 Node.js)。

这很容易做到,而且我已经成功了。

但是,我希望 nginx 仅处理有效虚拟主机域的请求。会有很多,所以我认为将 NGINX 连接到 PostgreSQL 并将它们存储在那里是有意义的。

我用这个模块编译了 NGINX:http://labs.frickle.com/nginx_ngx_postgres/来实现这一点。

这是 nginx.conf 节:

http {
    upstream database {
        postgres_server  127.0.0.1 dbname=some_name user=some_user password=some_password;
    }

    server {
        location / {
            postgres_pass     database;
            postgres_query   "SELECT * FROM sites WHERE domain='$http_host'";
            proxy_pass        http://localhost:3000;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

起初我认为它工作正常,因为我添加到数据库的 3 个测试域得到了正确的结果。但是,后来我删除了一个,它仍然有效!

所以,很明显,我配置错了。这是一个足够独特的案例,谷歌没有提供帮助。:(

有人做过这个吗?

提前致谢!