4

我让 nginx 在端口 80 上侦听,并将请求传递到端口 3000 上的流星(包装 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;
        }
    }
}

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

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

有人做过吗?

提前致谢!

4

0 回答 0