具有多个证书的简单ssl终止。 Nginx / haproxy还是其他?

时间:2019-02-15 00:06:50

标签: ssl nginx haproxy

目前,我在许多配置文件中都有多个带有专用证书的虚拟主机。

我的目标是实现一种简单的服务器配置,以在一个简单的配置中支持多个证书(我想将多个虚拟主机文件合并为一个)。我已经尝试使用Nginx之类的东西了:

server {
    listen 443 default_server ssl;
    ssl_certificate /etc/nginx/ssl.d/*/cert.pem;
    ssl_certificate_key /etc/nginx/ssl.d/*/privkey.pem;

    #
    # detailed ssl config
    #
    location / {

        proxy_pass http://other_location:80;
        #
        # detailed proxy config
        #
    }
}

但它返回:

nginx: [emerg] BIO_new_file("/etc/nginx/ssl.d/*/cert.pem") failed
(SSL: error:02001002:system library:fopen:No such file or
directory:fopen('/etc/nginx/ssl.d/*/cert.pem','r') error:2006D080:BIO
routines:BIO_new_file:no such file)

我不想配置任何主机名(也许我错了吗?)。 而且我也不想在haproxy或其他映射中多次配置证书的路径。

有什么主意吗?

2 个答案:

答案 0 :(得分:0)

使用haproxy,我可以通过带有证书的目录,它可以正常工作!

frontend www-https
   bind *:443 ssl crt /etc/ssl/private/

答案 1 :(得分:0)

一种可能的解决方案/解决方法是使用letencrypt在一个位置生成单个多站点证书。您可以生成简单的脚本,然后将cert和key cat放在一个文件中以供haproxy使用。 这样可以节省记住配置文件的位置。