我正在Heroku上开发一个带有几个子域的网站。其中一个是注册(如signup.myapp.com),它需要SSL访问 - 当然!但其他子域(如www)不需要https访问。
问题是客户只为signup.myapp.com购买了SSL认证。这意味着,当用户尝试使用https(例如https://www.myapp.com)访问我网站的其他位置时,SSL认证不会验证,浏览器会告诉用户该网站可能是恶意的...不适合品牌推广
我尝试将网站从https重定向到http,但当然失败了,因为在重定向发送之前已经检查了SSL。
有没有办法可以拒绝从https访问我网站的这些地方,以便用户遇到例如404页面?或者,您知道处理这种情况的其他方法吗? (客户端不愿意获取新的SSL证书,特别是通配符证书)。
答案 0 :(得分:1)
不幸的是,您需要为每个域(或者您提到的通配符)提供证书,请参阅例如:
问题在于证书是首先检查的,在其他任何事情发生之前。如果失败,浏览器通常会显示“让我离开这里!” - 一种通知。没有内置支持SSL到非SSL的转换。
您可以关闭https://www.example.com(即让您的Web服务器不在端口443上侦听),但这当然不会产生404,也不会影响品牌。
只使用一个非通配符证书,您唯一能做的就是将所有页面放在该域下。即而不是https://signup.example.com/a/b/c,你需要做https://www.example.com/signup/a/b/c或类似的事情。
另一方面,您可以在GoDaddy以低于100美元/年(或总共150美元,2年)的价格购买证书:
所以,根据你的情况,它可能只需付出代价而不需要做任何额外的开发。