今回はForce.comサイトに独自ドメインおよびHTTPS化を設定する際にハマった事を記事にしたいと思います。
独自ドメイン&HTTPS化の手順については当初下記のヘルプページを参照して「やり方はわかった!」と思い気楽に開発していました。
https://help.salesforce.com/articleView?id=000205653&language=ja&type=1
ざっくり流れを説明すると
<ドメイン作成&Force.comサイト紐づけ>
- 独自ドメイン取得
- 取得したドメインのDNSレコードにCNAMEレコードを追加してSalesforceと紐づけ(CNAMEレコードのvalueはSalesforceの設定画面に表示される値を設定)
- Salesforce上で1のドメインを設定(設定→ドメイン管理→ドメイン。いったんはSSLなしとする)
- Salesforce上でカスタムURL(設定→ドメイン管理→カスタムURL)を作成し3のドメインとForce.comサイトを紐づけ
- SalesforceでCSR作成(設定→セキュリティのコントロール→証明書と鍵の管理)
- 作成したCSRを認証局に申請
- 認証局からもらったSSLサーバ証明書をSalesforceにアップロード
- ドメイン設定でドメインと証明書を紐づけ
てな感じでした。
そして開発も終盤に差し掛かり、リリースの際に「よーしSSLサーバ証明書を設定するか~」という事で認証局からのメールを見ていたら「中間証明書も併せて設定してね」と書いてありました。
大昔apacheで設定した際は中間証明書専用の設定があったので、Salesforceにも同じように設定する箇所があるだろうとたかが括っていたら「無い・・・」
とりあえず中間証明書なしで設定したら、やはりブラウザからは不正な証明書と言われた・・・
やばい・・今日中に設定を完了する予定なのに・・・
Salesforce社にケースを投げようかと思っていたところ下記のスレッドにHITしました。
とりあえず中間証明書なしで設定したら、やはりブラウザからは不正な証明書と言われた・・・
やばい・・今日中に設定を完了する予定なのに・・・
Salesforce社にケースを投げようかと思っていたところ下記のスレッドにHITしました。
要は認証してもらったSSLサーバ証明書と中間証明書を一つのファイルにしてSalesforceにアップロードするという流れでした・・・
なぜかルート証明書も含めるような事が書いてありますが、通常はブラウザにルート証明書がインストールされているので不要ですね(スレッド内でも指摘が挙がってます)
また下記サイトにもありますが、apache2.4.8以降もサーバ証明書と中間証明書を一つのファイルにするようですね・・・そうだったのか
リリース作業の最後の仕上げでハマって焦りました。。。