nginx dynamic proxy_pass基于数据库查找

时间:2017-08-30 01:37:13

标签: nginx nginx-reverse-proxy

我有一个带有通配符子域的网站:运行nginx的* .mydomain。 我想将proxy_pass发送到另一台服务器上的另一个端口,具体取决于子域。

例如:
abc.mydomain - > proxy_pass http://otherdomain:10001
foo.mydomain - > proxy_pass http://otherdomain:10002

要重定向到的端口位于数据库中,我可以通过调用url来查找它:

curl http://mydomain/getport/abc - > 10001个
卷曲http://mydomain/getport/foo - > 10002

我的网站上有数百个子域名。如何在每次访问时进行这样的动态端口查找,以便在nginx中使用proxy_pass?

我对单个子域的当前nginx配置是:

server {
    listen 80;
    server_name abc.mydomain;

    location / {
        proxy_pass http://otherdomain:10001;
    }
}

由于

1 个答案:

答案 0 :(得分:0)

发现这可能有助于解决问题。使用 OpenResty,将 URI 保存到 Redis,并查找每个请求 URI 模式。

https://openresty.org/en/dynamic-routing-based-on-redis.html