nginx配置域和ip

nginx configuration domain and ip

我对 nginx 有疑问: 我想创建一个 server 到 IP 地址(它的动态)和另一个到域(我正在使用动态 DNS)。

当 ip 是动态的时,如何指定 listen 个块?

P.S。 我的域名配置应该保持不变:

server_name ~^(?P<sub>.+)\.top\.tld$ ~^(?P<sub>.+)\.top2\.tld$ top.tld top2.tld;

找到 default_server 的解决方案:

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    listen      443 ssl http2 default_server;
    listen      [::]:443 ssl http2 default_server;
    ...
}
server {
    listen      80;
    listen      [::]:80;
    server_name ~^(?P<sub>.+)\.top\.tld$ ~^(?P<sub>.+)\.top2\.tld$ top.tld top2.tld;
    rewrite     ^ https://$host$request_uri? permanent;
}
server {
    listen      443 ssl http2;
    listen      [::]:443 ssl http2;
    server_name ~^(?P<sub>.+)\.top\.tld$ ~^(?P<sub>.+)\.top2\.tld$ top.tld top2.tld;
    ...
}