Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ロリポップ、無料SSL発行の裏側

33 views

Published on

Let's Encrypt を用いてロリポップの無料SSL発行自動化の裏側を解説します。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ロリポップ、無料SSL発行の裏側

  1. 1. Let's Encrypt atani / GMO Pepabo, Inc. 2017.12.07 ペパボテックカンファレンス#6 ロリポップ、無料SSL発行の裏側
  2. 2. 自己紹介 ○ 所属 ホスティング事業部インフラチーム (2005年入社) ○ 担当 ロリポップ!・ヘテムル ムームードメインの運用 ○ 名前 @atani ○ ブログ http://atani.hateblo.jp/
  3. 3. 自己紹介 ・チカッパ!レンタルサービス ・カラーミーショップ ・プチ・ホームーページサービス ○ 過去に携わっていたサービス
  4. 4. 目次 •なぜ、無料SSL導入に至ったのか •無料SSLサーバ構成 •無料SSL発行までの流れ •リリース後のユーザーさんの反響 •リリースを終えての感想
  5. 5. なぜ、無料SSL導入に至ったのか
  6. 6. なぜ、無料SSL導入に至ったのか •2014年8月7日GoogleがHTTPS化によって検索順位 に影響することを発表。 •しかし、SSL証明書を発行する際、数万円∼数十万円 の費用がかかってしまい、一般のユーザーには導入が 容易ではなかった。
  7. 7. なぜ、無料SSL導入に至ったのか •2016年4月12日、無料でSSL証明書を発行できる Let s Encryptがサービスを開始。これにより一般の ユーザーでも容易にHTTPS化が可能になった。 •ロリポップ!でも、無料SSL導入の要望が増え、導入 していこうと機運が高まった!
  8. 8. 無料SSLサーバ構成
  9. 9. 無料SSLサーバ構成 •ユーザーが無料SSLを簡単にセットアップ出来るため に、自動で無料SSL証明書が発行されるような構成に した
  10. 10. z無料SSLサーバ構成
  11. 11. 今日話すところ 無料SSLサーバ構成
  12. 12. 無料SSLサーバ構成無料SSLサーバ構成(CoreAPIサーバの概要) CoreAPIサーバ
  13. 13. 無料SSLサーバ構成(CoreAPIサーバの概要) •無料SSLのセットアップ処理を受け付ける •管理DBとのやりとり(証明書の登録等) •SSL証明書発行依頼をACMEサーバに依頼 •フロントはNginx •バックエンドはGolang製のフレームワークecho •管理DBへのORMはgorm
  14. 14. 無料SSLサーバ構成無料SSLサーバ構成(ACMEサーバの概要) ACMEサーバ
  15. 15. •ACME(Automated Certificate Management Environment)プロトコルを利用して Let's Encrypt と通信するサーバ •SSL証明書発行周りの処理 •SSL証明書更新の処理 無料SSLサーバ構成(ACMEサーバの概要)
  16. 16. •フロントはunicorn •処理するキューはredisに格納 •ruby製のsidekiqを使って非同期処理 無料SSLサーバ構成(ACMEサーバの概要)
  17. 17. 無料SSL証明書発行の処理の流れ
  18. 18. 無料SSL証明書発行の処理の流れ ユーザーが、無料SSL 発行依頼をすると REST形式でCoreAPI サーバに処理依頼
  19. 19. 無料SSL証明書発行の処理の流れ Nginxはバックエンド にいるechoで作成さ れたCoreAPIに処理 を引継ぐ
  20. 20. 無料SSL証明書発行の処理の流れ CoreAPIは管理DBにドメ インと無料SSLを紐付けた 情報を格納し、CSRの情 報をACMEサーバに投げて、 SSL証明書の発行依頼
  21. 21. 無料SSL証明書発行の処理の流れ CoreAPIから情報を受け取っ たら、redisにドメインと 処理時間を書き込み、 CoreAPIに処理を戻し、 終了
  22. 22. 無料SSL証明書発行の処理の流れ ACMEサーバのsidekiqは redisから情報取得するた め、ポーリングしており、 情報があったら、その情報 を元にLet s Encryptに発 行依頼
  23. 23. 無料SSL証明書発行の処理の流れ Let s Encryptからメタタ グが送られてくるので、ド メインとメタタグ情報を CoreAPIサーバに送り、 CoreAPIサーバは、管理 DBにその情報を登録
  24. 24. 無料SSL証明書発行の処理の流れ Let s Encrypt からドメイ ン宛にアクセスがあり、メ タタグを取得できるとSSL 証明書が発行される (ドメイン認証)
  25. 25. 無料SSL証明書発行の処理の流れ 発行されたSSL証明書は、 ACMEサーバがうけとった あと、CoreAPIサーバに証 明書の登録を依頼 無料SSL証明書発行の処理の流れ
  26. 26. 無料SSL証明書発行の処理の流れ CoreAPIサーバは、管理DB にドメインとSSL証明書の 登録を行い、設定完了 無料SSL証明書発行の処理の流れ
  27. 27. リリース後のユーザーさんの反響 •ロリポップサーバーが無料SSLに対応したので、さっそくhttps化! 作業時間は5分ほど完了 •ロリポップなら10分で無料でSSL化!簡単にできる手順を紹介! •ロリポップで無料の独自SSL設定をやってみた。┃設定方法・使い方 など、多数記事掲載していただいており好評(^_^)
  28. 28. リリース終えての感想 •プロダクトの途中からの参加でしたが勢いのあるプロダクトだったの で関わることで色々と成長できました。 •初めてのGOLANGで戸惑いも多かったが、チームメンバーに教えても らいながら、大変助けられた。 •なんといっても、ユーザーさんに好評だったのがよかった^^
  29. 29. わたしたち、成長中 一緒に成長したい方はチェック→ @pb_recruit
  30. 30. おしまい

×