nginx上有多个ssl主机

我有一个服务器与Nginx的多个ssl网站,虚拟主机像这样工作:

root / var / www / html / $ host;

但是在证书部分,$ hostvariables不起作用:

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

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

我如何解决这个问题?

我怀疑ssl_certificate可以被参数化的 – 当nginx启动的时候它被parsing了,所以进程必须知道它的文件名才能执行OpenSSL初始化过程,但是在参数化的vhosts中这是不可能的 – server_name是不知道的。

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