🖥️ サーバ移行
サーバ移行時の SSL/TLS 証明書再インストール
サーバを移行・引っ越しする際の SSL/TLS 証明書の取り扱いを解説。
無停止移行のテクニックも含めて説明します。
📋 移行パターン別の対応
| パターン | 対応 |
|---|---|
| 同じサーバソフト間(Apache → Apache 等) | 秘密鍵・証明書ファイルをそのままコピー |
| 異なるサーバソフト間(Apache → Nginx 等) | 秘密鍵・証明書ファイルはそのまま使える(PEM 共通) |
| Linux ↔ Windows IIS | 形式変換が必要(PEM ↔ PFX) |
| レンタルサーバ → VPS / クラウド | 新規 CSR 作成・再発行を推奨 |
📋 同じサーバソフト間の移行(推奨)
-
旧サーバから証明書ファイルをコピー
$ scp /etc/nginx/ssl/* root@new-server:/etc/nginx/ssl/ -
新サーバでパーミッション設定
$ sudo chmod 600 /etc/nginx/ssl/example.com.key $ sudo chmod 644 /etc/nginx/ssl/example.com.crt /etc/nginx/ssl/intermediate.crt -
新サーバの設定ファイルを編集
-
新サーバで動作確認
# /etc/hosts に新サーバIPを一時設定して動作確認 $ echo "203.0.113.42 example.com" | sudo tee -a /etc/hosts -
DNS を新サーバに切り替え
-
旧サーバの停止・破棄
⚠️ 旧サーバの秘密鍵は完全削除 旧サーバを破棄する前に、秘密鍵を完全に削除してください(shredコマンドなど)。
📋 IIS ↔ Apache/Nginx の移行(形式変換)
IIS → Apache/Nginx(PFX → PEM)
$ openssl pkcs12 -in example.com.pfx -nocerts -nodes -out example.com.key
$ openssl pkcs12 -in example.com.pfx -clcerts -nokeys -out example.com.crt
$ openssl pkcs12 -in example.com.pfx -cacerts -nokeys -chain -out chain.crt
Apache/Nginx → IIS(PEM → PFX)
$ openssl pkcs12 -export -out example.com.pfx \
-inkey example.com.key \
-in example.com.crt \
-certfile intermediate.crt
🔄 無停止移行のテクニック
- 新サーバを構築・設定
- 新サーバに証明書をインストール
- DNS の TTL を事前に短く設定(移行の数日前に 60秒 程度に)
- 新サーバで動作確認
- DNS を切り替え(数秒〜数分で反映)
- 旧サーバへのアクセス減少を確認後、停止
💡 移行を機に ACME 自動更新を導入
サーバ移行は ACME 導入の絶好のタイミング
新サーバ構築時に certbot などの ACME クライアントを設定すれば、以降の証明書取得・更新が完全自動化されます。詳しくは certbot 使い方。
新サーバ構築時に certbot などの ACME クライアントを設定すれば、以降の証明書取得・更新が完全自動化されます。詳しくは certbot 使い方。
❓ よくあるご質問
Q. 同じ証明書を複数のサーバで使えますか?
はい、同じ秘密鍵 + 同じ証明書を複数のサーバで同時利用できます。FujiSSL / Sectigo は複数サーバ利用に制限なし。
Q. 移行時に証明書も再発行すべき?
必須ではありませんが、セキュリティ上は再発行を推奨します。
Q. サーバ移行の作業を依頼できますか?
はい、インストール代行サービス(11,000円) でサーバ移行に伴う SSL/TLS 設定をお引き受けします。