nginx 是否有类似 apache 的 mod_macro 的东西?

nginx 是否有类似 apache 的 mod_macro 的东西?

我需要能够在 nginx 中管理数千个域,并且每个域都会有一个我将管理的 lets-encrypt 认证。

我读到过 Apache 有一个宏功能这样您就可以做一些事情,而不必为每个域重复相同的虚拟主机部分。

如果您需要管理数千个域名,那么这个功能将会非常方便。

nginx 是否有类似的东西可以在这方面提供帮助?

<Macro VHost $domain>
<VirtualHost *:443>
    ProxyProtocol On
    ServerName $domain

    SSLEngine on
    SSLCertificateFile      $domain.crt
    SSLCertificateKeyFile   $domain.key
    SSLCertificateChainFile lets-encrypt-cross-signed.pem
</VirtualHost>

答案1

使用 Nginx,你可以预先使用外部工具完成此操作,例如nginx-confgen创建静态配置。在配置中不使用变量的原因在Nginx 常见问题解答

变量不应用作模板宏。变量在处理每个请求期间在运行时进行评估,因此与纯静态配置相比,它们的成本相当高。使用变量来存储静态字符串也是一个坏主意。相反,应该使用宏扩展和“include”指令来更轻松地生成配置,并且可以使用外部工具(例如 sed + make 或任何其他常见模板机制)来完成。

相关内容