LoginSignup
2
0

More than 5 years have passed since last update.

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

Posted at

(簡単な)対策

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通信を使うべきで、そちらに関しては、公式がドキュメントを公開しています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0