apache - 修复由于子域上的 HSTS 而导致的断开链接跟踪?

标签 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 证书。


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

最佳答案

您可以使用 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。

关于apache - 修复由于子域上的 HSTS 而导致的断开链接跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35762078/

相关文章:

java - java中的键到值/值到键

php - .htaccess 指向页面的 php 版本(如果存在)

azure - Azure 中通配符 SSL 证书续订的最佳实践(已固定移动应用程序)

python - 重新加载 mod_wsgi 守护进程时停机?

spring - 在 1and1 云服务器上部署 gradle spring 应用程序

django - ELB 的 SSL 但使用 Apache 设置

.htaccess - 如何给一个子页面它自己的域名?

.htaccess - 域转发不适用于 HTTPS

java - 为什么 SSL 服务器套接字连接会在 Java 中阻塞,而非 SSL 服务器套接字不会?

ssl - 如何在客户端没有证书的情况下为 mqtts 配置 Mosca?