目前,我在许多配置文件中都有多个带有专用证书的虚拟主机。
我的目标是实现一种简单的服务器配置,以在一个简单的配置中支持多个证书(我想将多个虚拟主机文件合并为一个)。我已经尝试使用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或其他映射中多次配置证书的路径。
有什么主意吗?
答案 0 :(得分:0)
使用haproxy,我可以通过带有证书的目录,它可以正常工作!
frontend www-https bind *:443 ssl crt /etc/ssl/private/
答案 1 :(得分:0)
一种可能的解决方案/解决方法是使用letencrypt在一个位置生成单个多站点证书。您可以生成简单的脚本,然后将cert和key cat放在一个文件中以供haproxy使用。 这样可以节省记住配置文件的位置。