ServBayで第三者認証機関(CA)のSSL証明書を利用する
本番環境を模したローカル開発やテストを行う際、信頼できる第三者認証機関(CA)が発行したSSL証明書を使うことで、HTTPSを用いたWebアクセスの安全性を確保できます。これは、HTTPS依存の機能検証や、ローカル環境を本番環境と限りなく一致させたい場合に非常に重要です。この記事では、サードパーティCA発行のSSL証明書をServBayローカルWeb開発環境で設定・利用する方法を詳しく解説します。
WARNING
ご注意:第三者CA発行のSSL証明書は、原則として .com
、.org
、.net
、.cn
等の標準的なドメインのみがサポートされます。.local
、.test
、.demo
などの独自ドメインはパブリックな認証ができないため、第三者CA証明書は利用できません。ローカル開発用にカスタムドメインを使いたい場合は、ServBayが提供する「ServBay User CA」または「ServBay Public CA」機能で信頼済みのローカルSSL証明書を発行してください。
利用シーン
- 本番同等環境の再現: 本番環境と同じHTTPS構成で開発・テスト。
- HTTPS依存機能のテスト: Service Workers、Web Crypto API、Geolocation等、安全なコンテキストが必要なブラウザ機能の動作検証。
- ローカルAPI開発: フロントエンドからHTTPS経由でローカルAPIに安全にアクセス。
前提条件
作業を始める前に、以下を満たしていることをご確認ください。
- macOS上にServBayがインストールされ、起動していること
- ターミナルおよびコマンドライン操作の基本知識
- OpenSSLコマンドが使える(macOSなら標準搭載)
ステップ1:第三者SSL証明書の申請
まずは、信頼できるサードパーティCA(例:Let's Encrypt、DigiCert、GlobalSign、Sectigo等)からSSL証明書を入手します。証明書取得には「CSR(証明書署名リクエスト)」ファイルの作成が必須です。
秘密鍵(Private Key)の生成
サーバーのSSL通信で使う大事なファイルです。厳重に保管し、外部に漏らさないよう注意しましょう。以下のOpenSSLコマンドでRSA秘密鍵を生成します。
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: 秘密鍵の生成に使うOpenSSLコマンド-algorithm RSA
: 鍵方式としてRSAを指定-out servbay.demo.key
: 出力ファイル名-pkeyopt rsa_keygen_bits:2048
: 鍵長2048ビット推奨
CSR(証明書署名リクエスト)の作成
CSRは公開鍵や証明書申請情報を含むファイルで、CAに提出します。上で作った秘密鍵からCSRを作成します。
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: CSR生成コマンド-new
: 新しいCSRの作成-key servbay.demo.key
: 署名前の秘密鍵-out servbay.demo.csr
: 出力するCSRファイル名
これを実行すると、各種入力を求められます。CAの要項や自社の情報に沿って入力してください。主な入力例は以下の通りです。
Country Name (2 letter code) [AU]:CN # 国コード 例:CN(中国), US(米国), JP(日本) State or Province Name (full name) [Some-State]:Hong Kong # 都道府県名 Locality Name (eg, city) []:Kowloon # 市区町村名 Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # 組織/会社名 Organizational Unit Name (eg, section) []:Development # 部署名(任意) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **重要:証明書を取得したいFQDN(完全修飾ドメイン名)** Email Address []:[email protected] # 連絡用メールアドレス(任意) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # チャレンジパスワード(通常空欄でOK) An optional company name []: # オプション会社名(通常空欄でOK)
1
2
3
4
5
6
7
8
9
10
11
12Common Name
にはServBayで使う予定のドメイン名(例:servbay.demo)を正確に入力してください。複数ドメインで証明書を発行したい場合(SAN証明書/マルチドメイン証明書)は、CAサイトの申込み手順やオンラインCSR生成ツール等で指定することになります。基本的な流れは同じです。CSRの提出と証明書の受領
作成した
servbay.demo.csr
の内容をCAウェブサイトにコピーペーストまたはアップロードし、案内に従ってドメイン所有証明(DNS・HTTP認証・メール認証など)を完了させます。承認後、CAから証明書一式が発行されます。通常は以下のファイルが渡されます。
- メイン証明書ファイル(例:
servbay.demo.crt
またはservbay.demo.pem
) - 中間証明書ファイル(例:
intermediate.crt
、ca-bundle.crt
など) - ルート証明書(普通は不要。OSやブラウザ側にすでに組込済み)
- メイン証明書ファイル(例:
ステップ2:ServBayへの第三者SSL証明書の設定
第三者CA発行の証明書ファイルを入手したら、次はこれをServBayにインポート・設定し、サイトでHTTPS通信できるようにします。
カスタム証明書および秘密鍵は /Applications/ServBay/ssl/import/tls-certs/
ディレクトリにまとめて配置するのがおすすめです。
証明書・秘密鍵ファイルを指定ディレクトリへ移動
ステップ1で作った秘密鍵(
servbay.demo.key
)、CAから取得した証明書(servbay.demo.crt
)、中間証明書チェーン(例:intermediate.crt
)も含めて、ServBayのインポートディレクトリに移してください。shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # 中間証明書もあれば同様に移動 mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # 複数の中間証明書があれば続けて移動 # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6中間証明書をメイン証明書ファイルへ追記(連結)
ブラウザが証明書チェーンを正しく検証できるように、すべての中間証明書をメイン証明書に追記(連結)します。基本は「メイン証明書→中間証明書(複数なら順番どおり)」の順で、ルート証明書は含めません(OSやブラウザが既に信頼しています)。それぞれのCAにより正しい順序案内があるので、指示通りに記載してください。
例:中間証明書が
intermediate.crt
1つの場合shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1複数の場合(例:
intermediate1.crt
→intermediate2.crt
)shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2結果として、
servbay.demo.crt
ファイル1つで、すべての証明書チェーン(サーバー証明書→中間証明書群)を含む形になります。ServBay管理パネルを開く
ServBayアプリを起動後、Dockやメニューバーのアイコンから管理パネルを開きます。
サイトを追加または編集
管理パネル左側ナビゲーションから「サイト」を選択。
- 新規サイト追加の場合 … 画面右上の「+」ボタン
- 既存サイトなら対象サイトを選択し、鉛筆マークの編集ボタンをクリック
SSL証明書の設定
サイト設定画面のSSL項目で「Custom(カスタム)」を選択。
- Certificate Key File(証明書秘密鍵): 「参照」ボタンから
/Applications/ServBay/ssl/import/tls-certs/
を選び、servbay.demo.key
などを指定 - Certificate File(証明書ファイル): 同様に「参照」ボタンから
servbay.demo.crt
(中間証明書も連結済みのファイル)を指定
(注意:画像パスは例です。実際のServBayドキュメントサイトに合わせてご調整ください)
- Certificate Key File(証明書秘密鍵): 「参照」ボタンから
ドメイン・ドキュメントルートを設定
サイト設定で、「Domain(ドメイン)」フィールドに証明書申請時と同じドメイン(例:servbay.demo)を入力してください。Webルート(Document Root)は
/Applications/ServBay/www/servbay.demo
などを指定します。設定を保存・適用
設定を終えたら「保存」ボタンをクリック。ServBayから変更反映とWebサーバー(Caddy/Nginx/Apache等)の再起動を求められますので、指示に従って適用します。
設定確認
設定後、https://servbay.demo などの該当サイトへブラウザアクセスし、アドレスバーの錠アイコンを確認します。クリックして証明書の詳細表示ができ、インポートしたCA発行の証明書および正しい証明書チェーンであることをチェックできます。
トラブル時は次の点を見直してください。
- ドメインが証明書のCommon Name または SANと一致しているか
- 秘密鍵・証明書ファイルパスが正しいか
- 証明書ファイルに中間証明書チェーンが完全かつ順番通りに含まれているか
- ServBayサーバー設定を保存・適用済みか
- OSが証明書発行元のルートCAを信頼しているか(通常、市販CAなら主流OS/ブラウザで自動信頼)
注意事項
- ドメイン一致: インポートした証明書は、サイト設定に記載したドメインと完全一致する必要あります(ワイルドカード証明書の場合はサブドメインも可)。
- 有効期限: 証明書には有効期限があります。失効前にCAで更新し、上述の方法でServBayに再設定してください。
- 秘密鍵管理: 秘密鍵(
.key
ファイル)は漏洩しないよう厳重に保管してください。 - ServBayの他のSSLオプション:
- ServBay User CA / Public CA: 任意のローカルドメインの信頼済み証明書を手軽に生成可能
- ACME (Let's Encrypt): 標準ドメイン向けにLet’s Encrypt証明書の自動申請・更新機能も搭載 ここで解説したカスタム証明書インポートは、既に外部経由で取得済み証明書を持ち込む際に有用です。
よくある質問 (FAQ)
Q1: .pfx
または .p12
形式の証明書ファイルを受け取りました。ServBayでの使い方は?
A1: .pfx
や.p12
は、秘密鍵と証明書チェーンが1つにまとめられた形式です。OpenSSLで秘密鍵(.key
)と証明書(.crt
)に分離してください。
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
2
この手順で分離した後、必要ならCA提供の中間証明書ファイルも用意し、ステップ2の説明どおり証明書ファイルに連結してください。
Q2: 手順通り設定したのに、ブラウザが「安全でない接続」警告を出します。
A2: 下記の点をご確認ください。
- ドメイン一致: アクセスするドメインと証明書記載ドメインが一致しているか
- 証明書チェーン:
.crt
ファイルに完全な中間証明書チェーンが含まれ、順番が正しいか。SSL検証ツールなどを使うと便利です。 - ServBay再起動: サイト設定後、Webサーバーを再起動しているか
- ブラウザキャッシュ: キャッシュ削除またはシークレットモードで再試行
- システム信頼性: 発行CAのルート証明書がOSで信頼されているか
まとめ
ここまでの手順を実行すれば、第三者認証機関発行のSSL証明書を、ServBayのローカル開発環境で問題なく利用できます。HTTPSでの本番同等テストや、機能の厳密な再現が可能になり、品質の高い開発・検証を実現できます。もちろんServBayにはACMEやユーザーCA等の簡便なSSL設定オプションもありますが、サードパーティ証明書の手動インポート方法も知っておくと、既存証明書の移行や特殊要件対応時に役立ちます。