如何根据 SSL_TLS_SNI 环境变量发送不同的 SSLCertificateFile?

如何根据 SSL_TLS_SNI 环境变量发送不同的 SSLCertificateFile?

想法是运行内部 CA 为 *.domain.com 提供的通配符证书,而面向公众的 domain.com 网站则由全球公认的 CA 进行验证。不过,应用程序服务请求是相同的,所以我认为保留一个单身的VirtualHost 配置部分会很好。问题是如何在单身的部分。

答案1

你不需要。Apache 会处理这个问题:

<NameVirtualHost *:443>

<VirtualHost *:443>
 ServerName www.yoursite.com
 DocumentRoot /var/www/site
 SSLEngine on
 SSLCertificateFile /path/to/www_yoursite_com.crt
 SSLCertificateKeyFile /path/to/www_yoursite_com.key
 SSLCertificateChainFile /path/to/DigiCertCA.crt
</Virtual Host>

<VirtualHost *:443>
 ServerName www.yoursite2.com
 DocumentRoot /var/www/site2
 SSLEngine on
 SSLCertificateFile /path/to/www_yoursite2_com.crt
 SSLCertificateKeyFile /path/to/www_yoursite2_com.key
 SSLCertificateChainFile /path/to/DigiCertCA.crt
</Virtual Host>

相关内容