子域名重定向至外部域名的证书安全异常解决方案咨询
嘿,这个问题其实挺常见的,核心矛盾就是浏览器会严格校验当前访问域名和证书绑定域名的匹配性,直接用domain2的证书处理sub.domain1.com的请求肯定会触发安全警告。给你几个不用把sub.domain1.com加到domain2证书里的可行方案:
给子域名配置独立SSL证书(最稳妥方案)
你可以给sub.domain1.com申请专属的SSL证书,现在免费的比如Let's Encrypt就能搞定,操作步骤也不复杂。拿到证书后在服务器上给sub.domain1.com配置HTTPS服务,再设置301/302重定向到domain2.com的HTTPS地址。这样用户访问sub.domain1.com时,首先验证的是子域名自己的有效证书,之后再跳转至domain2.com,全程不会出现安全异常,还能保证SEO友好。用HTTP重定向兜底(仅限非强制HTTPS场景)
如果暂时不想折腾证书,你可以先把sub.domain1.com的HTTP服务配置好,设置重定向到https://domain2.com。但这个方法有局限性:如果用户手动输入https://sub.domain1.com,浏览器在建立HTTPS连接时就会因为证书不匹配直接拦截,根本到不了重定向步骤。所以这个只能作为临时过渡,或者你能确保所有用户都是通过HTTP访问该子域名。借助CDN简化证书管理
不少CDN服务商都提供免费的SSL证书托管服务,你只需要把sub.domain1.com的DNS解析指向CDN节点,然后在CDN后台配置重定向规则到domain2.com即可。CDN会自动给你的子域名提供有效证书,不用自己在服务器上手动配置,操作起来更省心。
另外要提醒一下,别尝试用反向代理直接把sub.domain1.com的请求转发到domain2.com——这种场景下浏览器还是会校验sub.domain1.com的证书,除非给子域名配置了有效证书,不然一样会触发安全报错。
备注:内容来源于stack exchange,提问作者Mars

