![如何根据 SSL_TLS_SNI 环境变量发送不同的 SSLCertificateFile?](https://linux22.com/image/631016/%E5%A6%82%E4%BD%95%E6%A0%B9%E6%8D%AE%20SSL_TLS_SNI%20%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%8F%91%E9%80%81%E4%B8%8D%E5%90%8C%E7%9A%84%20SSLCertificateFile%EF%BC%9F.png)
想法是运行内部 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>