Link Brandingを設定したトラッキングURLは、初期設定のHTTPからHTTPSに変更できます。独自ドメインのSSL証明書を配置したCDN(リバースプロキシ)を用意し、URLクリック時にそのCDNを経由させることで実現します。以下の手順に沿って設定することで、ダウンタイムなしで切り替えが可能です。
留意事項
設定を開始する前に、以下の事項を確認してください。
-
SSL化の単位
SSL化はアカウント(親アカウントまたはサブユーザ)単位で実施します。1つのアカウント内に設定した複数のLink Brandingのうち、特定のものだけを個別にSSL化することはできません。複数ドメインのLink Brandingを設定している場合、すべてのドメインに対して「手順1」から「手順3」を実施する必要があります。
-
複数のサブユーザで同一ドメインをSSL化する場合
複数のサブユーザで同じドメインのSSL化が必要な場合は、親アカウントで設定したLink Brandingをサブユーザに共有して利用することを推奨します。これにより、後述する「手順1」から「手順3」の作業をアカウントごとに行う手間を省けます。なお、この場合「手順4」でSSL化を希望するアカウントを列挙してください。
-
Link Brandingの重複設定
Link Brandingを複数設定している場合、後述するLink Brandingドメインが同じ設定が複数存在する状態にしないでください。この状態ではトラッキングURLのSSL化を進めることができません。すべてのLink Brandingドメインがユニークになるよう重複するものは削除してください。
設定手順
以下の環境を例に手順を説明します。実際の値はご自身の環境に合わせて読み替えてください。
- メールの送信元ドメイン(Link Brandingドメイン):@example.com
- トラッキングURLのホスト部:urlXXXX.example.com
手順3. DNSレコードの設定値をCDN(リバースプロキシ)に変更する
手順1. SendGrid側の設定をする
トラッキングURLをSSL化する前に必要な設定を行います。文中の★は「手順4」で必要になります。
-
Sender Authenticationを設定する
SSL化対象ドメインで「Domain Authentication」と「Link Branding」を設定します。既に設定済みの場合、再設定は不要です。
Link Branding一覧で、すべてのSTATUSが「Verified」になっていること(「Pending」や「Failed」がないこと)を確認します。
★「Sender Authentication」画面のキャプチャを保存します。
-
Click Trackingを有効にする
「Click Tracking」を有効(Enabled)にします。これによりトラッキングURLが独自ドメイン(urlXXXX.example.com)に切り替わります。
★「Tracking Settings」画面のキャプチャを保存します。
-
テストメールを送信する
URLを本文に含めたメールを送信し、URLがトラッキングURLに変換されていることを確認します。
<トラッキングURLの例>
★「トラッキングURL」(click?upn=...以降のパラメータ部分を含むURL全体)を保存します。手順3と4両方で必要になります。
-
(SSL化対象アカウントがサブユーザであり、かつ親アカウントからLink Branding設定を共有している場合)Link Brandingの共有設定を確認する
Settings > Subuser Managementで、対象となるサブユーザ名を選択した後の画面(サブユーザ設定画面)の「LINK BRANDING」に親アカウントから共有した設定が表示されていることを確認します(下図の赤枠)。
★下図の赤枠の部分が見えるようにしてサブユーザ設定画面のキャプチャを保存します。
「手順1」を実施するとトラッキングURLの解決フローは以下のようになります。この時点ではSSL証明書が配置されていないため、HTTPでのアクセスのみ可能です。
手順2. CDN(リバースプロキシ)を設定する
-
SSL証明書の配置
CDN(リバースプロキシ)にSSL化対象ドメイン(urlXXXX.example.com)のSSL証明書を配置します。
-
中継設定
CDN(リバースプロキシ)に対する「HTTPおよびHTTPSのGETリクエスト」が「sendgrid.net」に転送されるよう設定します。
-
配信停止機能への対応
SendGridの配信停止機能を使用する場合は、POSTリクエストの中継も許可してください。
具体的な設定方法は、以下のドキュメントを参照してください。
- 主要なCDNサービスでの設定方法(英語)
「手順2」を実施するとCDN(リバースプロキシ)が追加されます。トラッキングURLの解決フローは変わりません。
手順3. DNSレコードの設定値をCDN(リバースプロキシ)に変更する
-
DNSレコードの修正
Link Branding設定時に登録したDNSレコードを変更し、SSL化対象ドメイン(urlXXXX.example.com)へのアクセスがCDN(リバースプロキシ)に向くようにします。
【注意】
DNSレコードの変更後は、SendGridダッシュボード上でLink Brandingの「Verify」ボタンを絶対にクリックしないでください。再Verifyを実行すると設定が解除されてしまい、手順1からやり直す必要があります。
-
DNSレコードの確認
ターミナルで以下のコマンドを実行し、DNSレコードがCDN(リバースプロキシ)に向いていることを確認します。
CDNにCloudFrontを利用した場合の例:dig urlXXXX.example.com cname +short 出力例:
xxxxxxxxxxxxxxxx.cloudfront.net. -
リダイレクトの確認
ブラウザで、手順1で取得したトラッキングURLにアクセスし、実サイト(本来の遷移先)へリダイレクトされることを確認します(httpとhttpsの両方で確認)。
-
レスポンスの確認
以下のコマンドを実行し、レスポンスに「404」が含まれていることを確認します(パスを指定しないアクセスは404となります)。
curl -X GET -I https://urlXXXX.example.com/ コマンド実行結果例:
※配信停止機能を使用する場合(手順2-3を実施した場合)は、-X POSTでも確認してください。
curl -X POST -I https://urlXXXX.example.com/
「手順3」を実施するとCDN(リバースプロキシ)を経由してトラッキングURLが解決されるようになります。トラッキングURLはまだHTTPのままです。
手順4. サポートへSSL化作業を依頼する
以下の情報を添えてSendGridサポートへ「トラッキングURLのSSL化」を依頼してください。
- ご本人様確認項目
- SSL化を希望するアカウント:親アカウント名(マイページID)、サブユーザ名
-
手順1で保存した★の情報(SSL化を希望するすべてのアカウント分)
- 「Sender Authentication」画面のキャプチャ
- 「Tracking Settings」画面のキャプチャ
- トラッキングURL(click?upn=...以降のURL後半部分を省略せずに全体をお送りください)
- サブユーザ設定画面のキャプチャ(SSL化対象アカウントがサブユーザであり、かつ親アカウントからLink Branding設定を共有している場合)
作業が完了次第、サポートからご連絡いたします。
メールを送信して、トラッキングURLがHTTPSで生成されることをご確認ください。
「手順4」が完了するとCDN(リバースプロキシ)を経由してHTTPSのトラッキングURLが解決されるようになります。
参考
- トラッキングURLのSSL化(英語)
- プロキシサーバをご自身で用意する場合の手順(英語)