【发布时间】:2016-03-21 08:23:30
【问题描述】:
我正在尝试将来自我的应用程序的电子邮件中的链接注册为 SSL/HTTPS 安全链接。这有助于可传递性和电子邮件客户端可能会将链接视为 http 与 https 的其他事情。
我们的应用程序正在使用 SendGrid 发送电子邮件,它还支持对我们的链接进行点击跟踪。为了做到这一点,SendGrid 和大多数其他电子邮件发件人服务替换了我们输入的原始链接,这是一个 https://blahblah.com 链接,用他们自己的链接,http://clicktrack.sendgrid.net 或者不是 https,而是 http 的东西。
SendGrid 支持“白标”点击跟踪链接,例如 http://subdomain.blahblah.com 以及 https 版本,如果我们设置正确的话。此处显示了 https/ssl 链接的 SendGrids 要求 https://sendgrid.com/docs/Classroom/Build/Add_Content/content_delivery_networks.html
基本上,他们要求我们设置一个 CDN 或其他服务器来托管我们的 SSL 证书,终止 SSL,然后将请求转发到他们的服务器。一旦到位,他们就可以为我们的电子邮件链接“打开”ssl。
我尝试在 AWS CloudFront 中将其设置为源为 sendgrid.net,并且分发具有我们的 SSL 证书和指向我们分发的路由 53 CNAME。所以 subdomain.blahblah.com 指向分发 CDN,CDN 指向 sendgrid,一切都应该工作。
测试这个虽然它不起作用。如果我转到子域的 http 版本,它确实可以正常工作,CDN 会正确转发。 AWS 支持建议这是与主机标头有关的问题,并且当我在 subdomain2.blahblah.com 上为源提供第二个 CNAME 时,CDN 无法验证源。这导致我删除了第二个 cname 并直接将 sendgrid 作为原点,但这并没有奏效,他们还没有提供解决方案。我得到这样的错误..
错误
无法满足请求。
CloudFront 无法连接到源。 由云端(CloudFront)生成 请求 ID:pl1bS3OObC6mUd2vyyhM6bNFt3xyLsfzVIqNmiPkEO7mQgJyQCn_pA==
有什么欢迎的想法或不同的方法吗?
【问题讨论】:
-
您是否将 CloudFront 分配中的
Origin Protocol Policy配置为“匹配查看器”?您是否配置了将Forward Headers设置为“无(改进缓存)”的默认行为?为了进行测试,我将 CloudFront 发行版配置为点击“[some-string-here].ct.sendgrid.net”,无论我使用 CloudFront 中的 SSL 证书还是内置的https://dxxxxxxxxxxxx.cloudfront.net,它都能按预期工作。跨度> -
谢谢迈克尔,这是正确的,这是转发所有标题的 b/c。不需要转发“Host”标头。
-
@bjm88 我在集成 aws clod front 和 sendgrid 以进行电子邮件链接跟踪时遇到问题,您能给我一些配置示例,说明要遵循哪些步骤来执行此操作吗?可悲的是,sendgrid 支持在这方面没有帮助我。提前致谢
标签: ssl amazon-web-services amazon-cloudfront sendgrid