我有两个SSL证书,foo.crt和bar.crt。两个证书都使用相同的密钥,foo.key。我希望我的Nginx在客户端IP与192.168.1.0/24匹配时将D4作为SSL证书发送,当不匹配时发送bar.crt作为SSL证书。
我尝试使用Geo模块和if指令,如下所示:
geo $local {
default 0;
192.168.1.0/24 1;
}
...
server {
ssl_certificate bar.crt;
ssl_certificate_key foo.key;
if ($local) {
ssl_certificate foo.crt;
}
...
}但是,Nginx给出了错误"ssl_certificate" directive is not allowed here。
在没有if指令的情况下,有办法做到这一点吗?
发布于 2022-06-07 23:35:04
也许像这样的东西(没有经过测试):
geo $cert {
default bar.crt;
192.168.1.0/24 foo.crt;
}
...
server {
ssl_certificate $cert;
ssl_certificate_key foo.key;
...
}https://serverfault.com/questions/1102730
复制相似问题