nginx server_name 正则表达式在精确匹配之前

nginx server_name 正则表达式在精确匹配之前

我想要为任何被请求的 server_name 全局实现一个 LetsEncrypt acme-challenge 位置声明。

因此我编写了以下服务器块:

server {
        server_name ~^(.+)$;
        listen 80;

        location ^~ /.well-known/acme-challenge/ {
                default_type "text/plain";
                root        /etc/nginx/ssl/le;
                allow all;
        }
}

据我所知,我明白如果服务器块完全匹配,则上面的服务器块将不会被调用。

有没有什么技巧可以在不接触域的实际服务器块的情况下实现它?

我甚至对 if 语句也满意

相关内容