通过 SSL 使用 nginx 进行虚拟托管,无需 SNI(通过通配符证书)

通过 SSL 使用 nginx 进行虚拟托管,无需 SNI(通过通配符证书)

我正在努力https://survey.mediacru.sh在没有 SNI 的情况下也能正常工作。我们有一个通配符证书,并使用 nginx 作为我们的 http 服务器。但是,在不支持 SNI 的浏览器上(例如,Android 原生浏览器),https://mediacru.sh当您访问时https://survey.mediacru.sh

理论上,应该可以使用通配符证书来处理没有 SNI 的虚拟托管。但我似乎无法弄清楚如何在 nginx 中设置它。

我们的配置文件可用在 GitHub 上, 以供参考。

答案1

我看不出有什么问题,使用一个明确禁用 SNI 的简单测试脚本(使用 wireshark 检查),我根据 HTTP-Host 标头获得了预期的响应,例如,如果我将此标头设置为 survey.mediacru.sh,我将获得调查站点,否则将获得默认站点。因此,无论您遇到什么问题,都不应该与 SNI 有关。

相关内容