Google Trust Services から SSL 証明書を取得する方法
ServBayはパワフルなローカルWeb開発環境であるだけでなく、ACMEプロトコルを標準搭載しており、ローカルまたはリモートドメインに対して信頼できるSSL証明書を簡単に発行・管理できます。Google Trust Services などの信頼された CA 発行のSSL証明書を用いることで、ローカル開発やテスト環境でも本番さながらのHTTPS接続が再現でき、混在コンテンツ警告のデバッグ、安全ヘッダーの検証、HTTPS下でのアプリ正常動作の確認などが容易になります。
本記事では、ServBay 上で Google Trust Services (GTS) のパブリックCAサービスとACMEプロトコルを活用し、ウェブサイト用SSL証明書を取得する手順を詳しく解説します。
事前準備
作業を始める前に、以下の準備が完了していることを確認してください。
- ドメインの所有とDNS管理権限: 有効なドメインを所有し、該当ドメインのDNSレコードを完全に操作できる必要があります(DNS APIによる認証のため)。
- DNS APIキーの取得: ServBayはDNS API経由でドメイン所有認証を自動化します。ドメインレジストラやDNSサービスプロバイダから該当するAPI資格情報を取得してください。各プロバイダーによって取得方法やパラメータ名が異なります。詳細はacme.sh DNS API Wikiを参照してください。
- Google Trust Services の EABキー取得: Google Trust ServicesのACMEサービスはEAB(外部アカウントバインディング、External Account Binding)が必須です。EABは、ACMEクライアントのアカウント(ServBayによる管理)をGoogle Cloud 上のアカウントと関連付け、証明書発行の権限を与える仕組みです。Google Cloud コンソールからEAB Key IDおよびEAB HMAC Keyを取得してください。詳しい手順はGoogle Cloud公式ドキュメントを参照してください。
申請手順
ServBayコントロールパネルを開く: ServBayアプリを起動し、GUI管理パネルに入ります。
SSL証明書管理セクションに移動: コントロールパネルのサイドバーやトップメニューから
SSL証明書
(SSL Certificates) を選択し、証明書管理画面へ進みます。証明書申請フローを開始: 証明書一覧画面の右上にある「+」ボタンをクリックして新規SSL証明書の申請を始めます。
証明書リクエスト情報の入力: 「Request Certificate」ウィンドウで以下の情報を入力してください。
- Common Name: 証明書申請を識別するための名前(例:プロジェクト名やメインドメイン)。例:
servbay.demo Certificate
。 - Usage Purpose: デフォルトの
TLS/SSL
をそのまま選択(Webサーバー接続の暗号化用)。 - Request Method:
ACME
を選択(自動化証明書管理環境プロトコルを使用)。 - Issuer: ドロップダウンメニューから
Google Trust Services
をCAとして選択。 - DNS API Provider: ご利用のDNSサービスプロバイダを選択(例:Cloudflare, GoDaddy, AliYunなど)。リストにない場合はServBayまたはacme.shのドキュメントで追加設定・対応状況をご確認ください。
- Algorithm: 鍵アルゴリズムを選択します。高いセキュリティと効率性のため、
ECC
(楕円曲線暗号方式)および鍵長384
を推奨します。 - EAB Key ID: Google Cloudから取得したEAB Key IDを入力。
- EAB HMAC Key: 同じくEAB HMAC Keyを入力。
- DNS API Tokens: DNS APIキーや必要なパラメータを1行ごとに入力。【重要】 acme.sh DNS API Wikiの該当プロバイダの説明に準じて正しい環境変数名と値を記入し、
export
コマンド自体は不要です。たとえばCloudflareの場合、CF_Key=YOUR_API_KEY
とCF_Email=YOUR_EMAIL
を1行ずつ入力。 - Domain: 証明書を発行したいドメインを入力。単一の場合はそのまま(例:
servbay.demo
)、複数ドメイン用(SAN証明書)はカンマ区切り(例:servbay.demo, www.servbay.demo
)。ワイルドカード証明書の場合は*.yourdomain.com
形式(例:*.servbay.demo
)で指定します(※ワイルドカードは原則DNS認証が必要)。
- Common Name: 証明書申請を識別するための名前(例:プロジェクト名やメインドメイン)。例:
申請を送信: 全て正しく入力できたら、ウィンドウ下部の「Request」ボタンをクリックします。
申請完了まで待機: ServBayがバックグラウンドでACMEフロー(Google Trust Servicesとの通信、DNS APIでのドメイン認証、証明書発行)を自動実行します。処理にはDNSレコードの伝搬速度やACMEサーバーの応答状況によってしばらく時間がかかる場合があります。成功すると証明書がServBayのSSL証明書一覧に表示されます。
証明書をウェブサイトに適用する
証明書の取得に成功し、ServBayのSSL証明書リストに表示されたら、それをウェブサイトに割り当てることができます。「ウェブサイト
(Websites)」設定に進み、対象サイトを選択します。SSL設定項目で証明書タイプとして ACME
を選択し、リストから今回申請したGoogle Trust Services証明書を選びます。サイト設定を保存すれば、その証明書によりウェブサイトのHTTPS通信が有効化されます。
証明書の自動更新
Google Trust Services発行のACME証明書の有効期間は通常90日間です。ServBayには自動更新機能が標準搭載されており、証明書が期限切れになる前に自動的に更新作業を行います。手動で更新を管理する必要はありません。ServBayが定期的に起動していることをご確認ください。
トラブルシューティングとよくある質問
- 証明書申請に失敗し、DNS認証エラーとなる場合:
- 入力したDNS APIキーやパラメータ(変数名・値)が正しいか再確認してください。
- ご利用のDNSサービスがAPI経由での認証に対応しているか、
DNS API Provider
の選択が正しいかを確認しましょう。 - オンラインのDNSチェックツール(例:
dnschecker.org
)で正しくDNSレコードが反映されているか確認します。DNSの変更反映には時間がかかる場合もあります。 - ネットワークやファイアウォール設定を見直し、ServBayがACMEサーバーおよびDNSプロバイダAPIへ接続できることを確認してください。
- EAB関連のエラーが出る場合:
- Google Cloudから取得したEAB Key IDとEAB HMAC KeyをServBayに正しく入力したかを確認してください。
- 該当EAB資格情報がGoogle Cloud側で有効かどうかもチェックしましょう(取り消しや有効期限切れがないか)。
- 申請プロセスが長時間停止・応答なしの場合:
- ServBayのログファイル(デフォルトではアプリディレクトリ直下の
logs
フォルダ内)を確認し、詳細なエラー内容を調べてください。 - 一時的にファイアウォールやセキュリティソフトを無効にし、ACME通信への干渉が無いか切り分けます。
- ネットワーク回線が安定しているかも見直してください。
- ServBayのログファイル(デフォルトではアプリディレクトリ直下の
まとめ
ServBayに搭載されたACME機能とGoogle Trust Services対応によって、信頼性の高いSSL証明書の取得と管理がこれまでになく容易になりました。ローカル開発環境でのHTTPS対応が簡単になるだけでなく、本番環境を忠実に再現した検証が可能となり、セキュリティ水準も向上します。ServBayの自動化により面倒な証明書管理から解放され、開発に集中できる環境を構築できます。ウェブサイトの通信を常に安全・信頼できるものにしましょう。