SendGrid
Rails5.1.2

Rails 5.1.2からSendGridのEmail Link WhitelabelでSSL Errorが起きる問題

More than 1 year has passed since last update.

(簡単な)対策

production.rbなど適切な場所に、以下のoptionを追加する。

config.ssl_options = {hsts: {subdomains: false}}

説明

Rails 5.1.2から、Strict-Transport-Security header(通称:HSTS)のincludeSubdomainsのデフォルト値がtrueになったため、例えばあなたのサービスのドメインが、example.comだったとして、SendGridのLink Whitelabelに通常通り、link.example.comを使用していた場合、example.com(内のページ)にアクセスしたことがある人(ブラウザ)は、そのサブドメインにもSSL接続を試みるようになりますが、link.example.comが有効なSSL通信ができない場合、エラーが発生します。
(SendGridが送るメール内ではhttpでlink.example.comにアクセスしていますが、ブラウザがHSTSによりSSLに置き換えている形です。)
(やっかいなのは、example.comにアクセスしたことのない人は、基本的にHSTSの機構が働かないので、問題なくそのままアクセスできるので、この問題に気付きにくいです。)

なお、Strict-Transport-Security headerについては、MDNなどを参照してください。

よりよい対策

上では、すぐにできる簡単な対策を書きましたが、当然、より高いsecurityとprivacyのためにはサブドメインでも可能な限り、SSL通信を使うべきで、そちらに関しては、公式がドキュメントを公開しています。