修复由于子域上的HSTS导致的断链跟踪?

时间:2016-03-03 02:31:29

标签: apache .htaccess ssl sendgrid hsts

所以,差不多一年前,我在我的网站上设置了HSTS并将其提交到Google的预加载列表中。现在,我遇到了一个问题,因为我白标了我的sendgrid链接跟踪,它依赖于我网站子域的cname。因此,这些链接失败并在Chrome中出现NET::ERR_CERT_COMMON_NAME_INVALID错误,因为浏览器收到的SSL证书来自SendGrid。

有没有办法解决这个问题? Chrome的预加载列表要求我的所有子域都通过SSL提供,并且证书与我的实际域绑定。有没有办法快速让Chrome删除我的子域名的期望?或者有没有办法更改SendGrid设置,以便我消除CNAME记录,我的子域重定向到SendGrid域?也许别的什么。

顺便说一下,我的子域名有自己的SSL证书。

如果有必要,我愿意切换到不同的域进行链接跟踪,但是我需要一种方法来重写旧客户电子邮件中的链接。

1 个答案:

答案 0 :(得分:5)

您可以使用Fastly或CloudFlare等CDN在SendGrid点击跟踪链接上执行SSL终止。他们将终止SSL(这将满足您的HSTS配置)并将请求代理到SendGrid以进行点击跟踪/重定向。

此处还有一些其他信息: https://sendgrid.com/docs/Classroom/Build/Add_Content/content_delivery_networks.html

您实际上想要配置Fastly / CloudFlare来代理请求,与SendGrid支持联系,让他们验证并启用" SSL点击跟踪"为您的帐户。一旦他们确认所有内容都按预期设置,您就可以更新子域上的CNAME以指向CDN提供程序而不是直接指向SendGrid。

您还可以选择使用mod_proxy设置Apache以终止SSL并将请求直接代理到SendGrid。