Nginx 上的多个 SSL 主机

Nginx 上的多个 SSL 主机

我在一台使用 nginx 的服务器上有多个 ssl 站点,虚拟主机的工作方式如下:

root /var/www/html/$host;

但在证书部分,该$host变量不起作用:

ssl_certificate /etc/nginx/ssl/$host.crt;
ssl_certificate_key /etc/nginx/ssl/$host.key;

我该如何解决这个问题?

答案1

我怀疑ssl_certificate它是否可以参数化——它在nginx启动时被解析,因此该过程必须知道它的文件名才能执行 OpenSSL 初始化过程,但是在参数化的 vhosts 的情况下这是不可能的——server_name尚不清楚。

您必须为 SSL 创建非参数化的 vhost 配置文件,或者使用通配符证书(例如*.foo.bar半参数化的 vhosts,例如server_name *.foo.bar;

相关内容