ドメインSSL証明書の申請と利用方法
現代のWeb開発では、たとえローカル開発環境であっても、SSL/TLS証明書によるHTTPSの導入がますます重要になっています。ServBayは、SSL証明書の管理と適用を簡単に行える仕組みを提供し、本番環境のシミュレーションやセキュリティ機能のテスト、そしてスムーズなローカル開発をサポートします。
本ドキュメントでは、ServBayでのSSL/TLS証明書の申請、割り当て、および管理方法を詳しく説明します。
ドメインSSL/TLS証明書の概要
SSL/TLS証明書は、サーバーの身元を確認し、クライアント(ブラウザなど)とサーバー間のデータ送信を暗号化するためのデジタル証明書です。証明書をインストールすると、ウェブサイトのアドレスが http://
から https://
に変わり、ブラウザのアドレスバーに鍵アイコンが表示され、接続が安全であることを示します。
なぜローカル開発でHTTPSを利用するのか?
- 本番環境のシミュレーション: 多くの本番環境ではHTTPSが必須です。ローカルでHTTPSを使うことで、本番環境に近い状態を再現でき、リリース時の想定外のトラブルを減らせます。
- セキュリティ機能のテスト: Service Workers、Web認証、Geolocation APIなど、いくつかの最新ブラウザ機能はセキュアなコンテキスト(HTTPS)でのみ動作します。ローカルでHTTPSを使うことで、こうした機能の確認が容易になります。
- 混在コンテンツ警告の防止: サイトがHTTPSで動作していても、HTTPからリソース(画像・スクリプト・CSSなど)を読み込むと、ブラウザで混在コンテンツ警告が表示されます。ローカルHTTPSでこれらの問題を事前に発見・修正できます。
- HTTP/2 や QUIC: これらのモダンなプロトコルは、通常HTTPS通信が必要です。
ServBayによるSSL証明書の申請方法
ServBayは、2つの主要な方法でSSL証明書の申請をサポートしています。1つはServBay内蔵のCA(証明書発行機関)によるローカル信頼証明書の発行、もう1つはACMEプロトコル(Let's Encryptなど)の利用によるパブリック信頼証明書の取得です。
前提条件
- ServBayのインストール・起動が完了していること
- SSL証明書を適用したいウェブサイトがServBayで作成・設定されていること
- ACMEでのパブリック証明書申請時は、DNS認証方式を利用できること
手順:SSL証明書管理パネルへのアクセス
ServBayアプリのサイドバーから「SSL Certificates」をクリックし、証明書管理画面へ進みます。
方法1:ServBay CAによるローカル信頼証明書の発行
ServBay CAはServBayに組み込まれた証明書発行機関です。ここで発行された証明書はServBay CAを信頼している端末でのみ有効です。ローカル開発には最適で、手軽に開発端末へServBay CAの信頼設定ができます。
- 追加ボタンをクリック: 「SSL Certificates」画面の右上にある「+」ボタンを押してください。
- 証明書情報の記入: 「Request Certificate」画面で以下を入力します。
- Common Name(コモンネーム): 証明書の識別用名称(例:
ServBay Demo Website Cert
)を指定。 - Usage Purpose(用途): 「TLS/SSL」を選択します。
- Request Method(申請方法): 「ServBay CA」を指定。
- Issuer(発行者): 「ServBay User CA」を選択。ServBayではユーザー単位のCAでローカル証明書を発行します。
- Algorithm(アルゴリズム): 暗号化アルゴリズムを選択。推奨はモダンで高速な「ECC」。古いシステム互換性を考慮する場合は「RSA」も選択可。
- Key Length(鍵長): 鍵長を指定。ECCなら「384」、RSAなら「2048」または「4096」推奨。長いほど安全ですが、処理負荷も上がります。
- Domain(ドメイン): 【重要】 サイトで使用するドメイン一覧を入力。このドメインがSubject Alternative Names(SANs)に追加されます。ローカル開発時は
.servbay.demo
(例:servbay.demo
,myproject.servbay.demo
)や、ローカルのhostsファイルまたはServBayで設定した任意のドメインが利用可能。ワイルドカード(例:*.servbay.demo
)や複数ドメイン指定(カンマ区切り)もサポート。
- Common Name(コモンネーム): 証明書の識別用名称(例:
- 「Request」ボタンをクリック: 入力内容を確認のうえ、画面下部の「Request」をクリック。
ServBayは即座にServBay User CAで証明書を発行し、リストに追加します。
(画像はServBay CA申請画面の例です)
ServBay User CAを信頼するには
ブラウザやアプリでServBay CAによる証明書を信頼するには、お使いのOSにServBay User CAのルート証明書をインストール・信頼設定する必要があります。ServBayはインストール時に自動信頼の設定を行う場合もありますが、「設定」メニュー内で手動インストールも可能です。信頼化が済めば、.servbay.demo
など指定ドメイン用の証明書で「信頼されていません」といった警告は表示されなくなります。
方法2:ACME(Let's Encrypt)によるパブリック信頼証明書の発行
ACME(Automated Certificate Management Environment)は、Let's EncryptのようなパブリックCAと自動連携し無料のSSL証明書を取得・管理できるプロトコルです。この方法で発行された証明書は主要なブラウザや端末でデフォルトで信頼されます。
- 追加ボタンをクリック: 「SSL Certificates」画面の右上「+」ボタンをクリック。
- 証明書情報の入力: 「Request Certificate」画面で以下を指定。
- Common Name(コモンネーム): 識別用の証明書名を入力。
- Usage Purpose(用途): 「TLS/SSL」を選択。
- Request Method(申請方法): 「ACME」を指定。
- Issuer(発行者): 「Let's Encrypt」「ZeroSSL」「Google Trust Services」などServBay経由で連携するCAを選択。
- Algorithm(アルゴリズム): 「ECC」推奨。
- Key Length(鍵長): 鍵長を選択。
- Domain(ドメイン): 【重要】 パブリック信頼証明書を取得したい公開ドメイン一覧を入力。これらのドメインを所有し、コントロール権限がある必要があります。ACMEプロトコルでドメインの所有権認証が実施されます。複数・ワイルドカードも指定可(ワイルドカードにはDNS認証必要な場合あり)。
- Email(メールアドレス): 有効なメールアドレスを入力。証明書有効期限通知等に利用されます。
- DNS Provider(DNSプロバイダ): ドメインのDNSサービス提供業者を選択。DNSレコードによる所有権認証と証明書発行に使われます。
- 「Request」ボタンをクリック: 記入内容を確認し、「Request」をクリック。
ServBayがACMEフローを開始し、選択したCAと通信し、ドメインの所有確認を行い、証明書発行を進行します。検証方式やネットワーク状況によっては若干時間がかかる場合もあります。成功時には証明書がリストに追加されます。
ACME証明書の自動更新について
ACME発行の証明書は有効期間が短い(例:Let's Encryptなら90日)ですが、ServBayが自動で更新を管理します。手動更新作業は不要です。
証明書の割り当てと利用
申請したSSL証明書は、ServBay内の特定ウェブサイトに割り当てることで、そのサイトのHTTPSアクセスが有効になります。
- Webサイト管理へ移動: サイドバーから「Websites」をクリックし、サイト一覧を開きます。
- 該当サイトを編集: SSL証明書を適用したい対象サイトを選択。
- SSL設定の構成: サイト設定画面でSSL/HTTPS関連の項目を探します。
- HTTPS有効化と証明書選択: 「HTTPS」を有効にし、証明書のプルダウンリスト(ACMEの場合)から申請した証明書を選択。リストにはコモンネームや関連ドメインが表示されます。
- 設定保存: サイト設定を保存します。
保存後、ServBayがWebサーバーの設定(Caddy、Apache、Nginx等)を自動で再読み込みし、新しいSSL証明書が即座に反映されます。あとは https://あなたのドメイン
でアクセスできるようになります。
証明書管理
「SSL Certificates」パネルでは取得済み証明書の各操作が可能です。
証明書の更新
- ServBay CA証明書: ServBay CA証明書は有効期間が長い(通常800日)ですが、期限前に証明書リストから対象証明書の更新(リフレッシュ/ループアイコン)ボタンで手動更新できます。更新ごとに有効期間は「現在日+800日」に延長されます。
- ACME証明書: Let's EncryptなどACME証明書はServBayが自動で更新を行うため、手動操作は不要です。
証明書のエクスポート
取得したSSL証明書はエクスポート可能です(他端末やサービスで同じServBay CA証明書を使いたい場合など。ただし信頼設定必須)。
- SSL証明書管理パネルを開きます。
- エクスポート対象証明書を選択。
- 操作ボタンをクリック: 証明書右側のエクスポートアイコン(「➡️」など)を押します。
- エクスポート先フォルダの選択: ファイル保存ダイアログで保存場所を指定。
- 証明書の配布: エクスポートされた証明書は一般的にZIP形式でまとめられ、証明書(
.crt
または.cer
)、秘密鍵(.key
)、CAチェーンなどが含まれます。用途に応じて配布・インストールしてください。
証明書の削除
不要な証明書は削除可能です。
- SSL証明書管理パネルを開きます。
- 削除したい証明書を選択。
- 操作ボタンをクリック: 右側のごみ箱アイコンで削除を選択。
- 削除の確認: 確認用ダイアログで最終確認します。注意: この操作は元に戻せません。該当証明書をウェブサイトで利用中の場合は、事前に他の証明書割り当てやHTTPS無効化が必要です。そうしないとサイトが利用できなくなります。
よくある質問(FAQ)
Q: ServBay CAで発行した証明書なのに、「信頼されていません」とブラウザに表示されるのはなぜ?
A: ServBay CA証明書はOSやブラウザが標準で信頼していません。開発端末にServBay User CAのルート証明書をインストールし、信頼設定を行ってください。ServBayの「設定」か公式ドキュメントでインストール方法を確認しましょう。
Q: ACME(Let's Encrypt)証明書の申請に失敗しました。どうすれば?
A: ACME申請が失敗する場合、多くはドメイン所有権の認証エラーです。
dns-01
認証の場合、DNS事業者でTXTレコードを正しく設定し、変更が反映済みか確認してください(DNS更新には時間がかかる場合があります)。 詳細なエラー原因はServBayのログで確認できます。
Q: ServBayで複数のドメインを1つの証明書で申請できる?
A: はい、証明書申請時、「Domain」欄に複数ドメインをカンマ区切りで入力すれば、全てを含めたSANs証明書が作成されます。
Q: ServBayはどのWebサーバーに対応?証明書設定は共通ですか?
A: ServBayはCaddy、Apache、Nginx等に対応しています。SSL証明書の管理画面は共通化されており、申請した証明書はServBayが管理する任意のSSL対応サイトですぐに利用可能です。サーバーごとの面倒な設定作業は不要です。
まとめ
ServBayはローカル開発環境向けに、強力かつ直感的なSSL証明書管理機能を備えています。ServBay CAによってローカルドメイン用の信頼証明書を素早く発行でき、HTTPS開発・テストが手軽に行えます。また、ACMEプロトコル連携により、パブリックドメインについてもServBay上から直接、Let's Encrypt・ZeroSSL・Google Trust Services等のパブリック信頼証明書の取得・管理が可能です。これらの機能を活用すれば、よりセキュアで現代的なWebアプリケーションを構築できます。
証明書申請や運用で不明点がある場合は、ServBay公式ドキュメントやコミュニティもご活用ください。