6

我有一个带有通配符子域的网站:* .mydomain 运行 nginx。我想根据子域将代理传递到另一台服务器上的不同端口。

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

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

卷曲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;
    }
}

谢谢

4

1 回答 1

0

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

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

于 2021-05-01T05:10:14.663 回答