ServBayでACME方式を利用したSSL証明書の申請方法
ServBayはACMEプロトコルを利用して、ローカル開発用WebサイトのSSL/TLS証明書を自動で取得できます。ACME(Automated Certificate Management Environment)プロトコルは、証明書の申請・更新・失効など証明書ライフサイクル管理を自動化する標準規格です。ServBayが提供するACME管理パネルから、ローカルWebサイト向けの信頼できるSSL証明書を簡単・迅速に構成可能です。これは本番環境のエミュレーションや、HTTPS関連機能のテストに不可欠となります。
ServBayはデフォルトでZeroSSLから証明書を発行しますが、ご自身の要件に応じてLet's EncryptやGoogle Trust Servicesなど、他のACME対応の認証局(CA)も選択可能です。
TIP
ローカル開発環境と本番環境の一致性を高めるため、信頼性の高いSSL証明書の利用は非常に重要です。ServBayのACME機能を活用すれば、証明書発行作業が圧倒的にシンプルになります。
基本用語の解説
ServBayのACME機能を活用する前に、以下の基本用語を理解しておくと便利です。
- ACMEプロトコル: 認証局(CA)とサーバー間のやり取りを自動化し、証明書の申請・更新・管理を行うためのオープンスタンダードプロトコルです。
- DNS-01検証(DNS API方式): ACMEがサポートするドメイン所有権検証方法の一つです。ServBayでは主にDNS-01方式を採用しており、CAが指定するTXTレコードをドメインのDNSに追加することでドメインの所有権を証明します。主なメリットは:
- ローカル開発環境がインターネットから到達可能でなくてもOK
- ファイアウォールやISPによるローカルの80/443ポート制限があっても検証可能
- 外部アカウントバインディング(EAB:External Account Binding): Google Trust ServicesやZeroSSLなど一部CAでは、初回のACME証明書申請時に、Key IDとHMAC Keyの組み合わせでACMEクライアント(ここではServBay統合のacme.sh)とCAアカウントを紐付ける必要があります。
- ECC証明書とRSA証明書の違い:
- RSA: 伝統的な暗号方式で高い互換性を持ちますが、2048bit/4096bitと鍵長が長く処理がやや重くなりがちです。
- ECC(楕円曲線暗号): より現代的な暗号方式で、同等のセキュリティレベルをより短い鍵長(例: 256bit, 384bit)で実現。性能・セキュリティ・前方秘匿性に優れており、ServBayではECC証明書が推奨設定です。
前提条件
ServBayはDNS API方式によるACME証明書申請をサポートしており、インターネット越しにWebサイトへアクセス可能である必要はありません。SSL証明書申請前に、以下の条件を確認してください。
- ドメインの所有: すでに登録済みでDNSレコード管理権限のあるドメインが必要です。
- DNSプロバイダのAPI Keyの取得: ACME申請作業では、DNS APIを利用して検証用のTXTレコードを自動追加・削除します。そのため、ご自身のドメインのDNS管理を担うサービス(通常はレジストラとは異なる場合あり)のAPI Keyまたは認証情報が必要です。対応DNSプロバイダおよびAPI Key取得方法は、acme.sh公式WikiのDNS APIセクション(英語)How to use DNS APIをご参照ください。自分のDNSプロバイダ毎に該当のガイドを探してください。
- EAB情報の取得(Google Trust ServicesまたはZeroSSL利用時のみ初回必要): Google Trust Servicesを証明書発行元とする場合はGoogle CloudからEAB情報を取得する必要があります。Google Cloud公式ドキュメント(英語)Obtaining EAB credentials from Google Cloudを参照してください。ZeroSSLの場合、初回発行時にメール認証やAPI Keyによる認証が必要な場合があります。
ServBayでACME方式によるSSL証明書を申請する手順
下記の手順で、ローカル開発用サイトに対しACME方式でSSL証明書を取得します。
ServBay管理パネルを開く
ServBayアプリを起動し、メニューバーやDockなどから管理パネルにアクセスします。SSL証明書管理へ移動
パネル左側メニューから「SSL証明書」をクリックします。新規証明書の申請開始
右上の「+」ボタンをクリックし、「新しい証明書を申請」を選択します。証明書基本情報の設定
- 証明書名: 判別しやすい任意の名称を入力します(例:
servbay-demo-ssl)。 - 用途:
TLS/SSLを選択 - リクエスト方式:
ACMEを選択
- 証明書名: 判別しやすい任意の名称を入力します(例:
証明書発行機関(CA)の選択
「発行機関」プルダウンから任意のCAを選択します。初期設定はZeroSSLです。必要に応じてLet's EncryptやGoogle Trust Servicesなども選択可能。以下はZeroSSLの場合の例となります。DNS APIプロバイダの選択
「DNS APIプロバイダ」欄で、ご自身のドメインDNS管理サービスを選択します。例としてCloudflare。
※ここで指定するのは“実際にDNSを運用しているサービス”=レジストラとは異なる場合もある点に注意してください。証明書署名アルゴリズムと鍵長の選択
- アルゴリズム: 基本的に
ECCを推奨(性能・セキュリティ優位)。古い機器の互換目的ならRSAも選択可能。 - 鍵長: ECCなら
384bitが標準で十分安全性があります。RSAの場合は一般的に2048または4096bit。
- アルゴリズム: 基本的に
認証情報の入力
選択したCAとDNSプロバイダに応じた入力欄が現れるので、必要な認証情報を記入します。- ZeroSSLの場合はご自身のメールアドレス入力が必要
- Cloudflare DNS APIの場合はAPI Keyやその他認証情報を入力(各プロバイダ向けの詳細はacme.sh Wiki参照)
WARNING
注意:API Keyやシークレットは“値のみ”貼り付け、
exportなどシェルコマンドの前置きは不要です。ドメインの設定
「ドメイン」欄に、証明書を発行したいドメイン名を記入します(例:servbay.demoや*.servbay.demo)。
ワイルドカード証明書(例:*.servbay.demo)を申請する場合、DNSプロバイダ側でワイルドカードTXTレコードの自動登録がサポートされているかご確認ください。申請開始
入力内容を確認後、「リクエスト」ボタンを押します。ServBayは統合acme.shツールを呼び出し、提供されたDNS API情報を通して自動でドメイン検証・証明書発行を進めます。

申請はDNS伝播速度やCAの処理速度により多少時間がかかる場合もあります。進行状況はServBayのログや証明書リストで確認できます。
発行成功後、証明書は「SSL証明書」一覧に表示されます。
申請の中止操作
ACME申請中は「リクエスト」ボタンが「申請停止」に変わります。申請処理が遅かったり(例:DNS伝播が遅い/認証情報の再入力が必要など)した場合は、「申請停止」ボタンで現在のacme.shプロセスを中止し、情報修正後すぐに再申請できます。長時間タイムアウトを待つ必要はありません。
上級オプション:DNS伝播待機・DNS自己検証のスキップ
acme.shは標準で検証用TXTレコード追加後、まずローカルでレコード状況を自己検証した上でCAに通知します。しかし、ローカルDNSが改ざんされていたり、fake-ipモードのような本番環境と異なる名前解決が発生する場合、自己検証で不正確な結果になることがあります。
こうしたケースでは、ServBay証明書申請画面で下記オプションが利用できます。
- 待機秒数: DNS伝播の待ち時間を指定(デフォルトは120秒)。この秒数分待つことでグローバルにレコード反映の猶予を作ります。
- DNS自己検証のスキップ: ONにすると、acme.shはローカル自己検証を省略し、指定待機秒数経過後に直接CA認証へ進みます。
ローカルのDNS解決結果が信用できない/fake-ipモード時に有効です。
TIP
通常のネットワーク・DNS環境であれば、これらのオプションは初期設定のままで十分です。TXTレコードが反映済みにも関わらず、自己検証だけが失敗する際だけ「DNS自己検証のスキップ」をON、かつ「待機秒数」を延長してみてください。
ServBayサイト設定への証明書の適用
ACMEで取得した証明書は、以下の手順でServBayのサイト設定にすぐ反映できます。
- ServBayパネル左側の「サイト」メニューへ
- 対象サイトを選択し、右端の編集(鉛筆アイコン)をクリック
- 「SSL証明書」欄を探してください
- プルダウンから、先程発行したACME証明書名を選択
- 「SSL有効化」スイッチがONになっていることを確認
- サイト設定を保存。これでWebサイトがHTTPSアクセス可能になります。

ACME証明書の自動更新
ACME(例:Let's Encrypt、ZeroSSL)発行の証明書は、有効期限が90日間です。HTTPS有効状態を維持するには、証明書の継続的な更新が求められます。
ServBayはACME方式で取得した証明書の有効期限を自動監視します。有効期限が近づくと、あらかじめ設定されたDNS API情報を利用して、自動でCAへの更新リクエストを行います。
DNS API認証情報が有効で、DNS運用に問題さえなければ、手動操作は不要。ServBayがバックグラウンドで更新処理を完了します。
よくある質問(FAQ)・トラブルシューティング
- 申請失敗でDNS検証エラー?
- DNS API認証情報の誤り、またはTXTレコード編集権限があるか要確認
- ServBayで選択した「DNS APIプロバイダ」が実際のDNSサービスと一致しているか検証
- DNS伝播には数分〜数十分かかる場合あり。少し待って再試行を
- ドメイン名のスペルも確認
- 外部ではTXTレコードが見えるのにローカル検証失敗(DNS改ざんやfake-ip環境など)の場合、申請画面で「DNS自己検証のスキップ」をON、および「待機秒数」増加を検討(詳細は「上級オプション」参照)
- EAB関連エラーで申請失敗?
- Google Trust ServicesやZeroSSL初回利用時は、EAB情報が正しく入力済みか再確認
- 過去に成功していた場合でもEAB情報の期限切れ・無効化の可能性もあるので再取得推奨
- レート制限(Rate Limit)エラー?
- CAは短時間での同一ドメイン/同一IPによる大量証明書申請を制限しています。多重申請・短期間での連続申請はしばらく時間を置いてから再試行してください
- 証明書発行成功だがWebサイトが“不正な接続”と表示?
- サイト設定で新証明書が適用・SSL有効化されているか再確認
- ブラウザキャッシュクリアやシークレットモードで再アクセス
- ローカルHostsファイルやネットワーク設定が適切にServBayを指しているか確認
- ServBayはいつ自動で証明書更新する? 通常、有効期限残日数が特定値(例:30日未満)になると自動更新を開始します。ServBay本体が起動・正常通信状態であれば、バックグラウンドで静かに処理されます。
まとめ
ServBayのACME機能を使えば、DNS API経由でローカル開発用WebサイトのSSL/TLS証明書を簡単・確実に取得・運用できます。手動での煩雑な証明書管理が不要となるだけでなく、本番環境と同じHTTPS通信をローカルで手軽に再現できるため、より効果的な開発・テストが可能となります。
本記事がServBayでACME方式によるSSL証明書設定の一助となり、ローカル開発体験の向上に役立つことを願っています。
