我让 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 个测试域的正确结果。但是,后来我删除了一个,它仍然有效!
所以,很明显,我配置错了。这是一个足够独特的案例,谷歌没有帮助。:(
有人做过吗?
提前致谢!