内部証明書のインストール
目的
製品を LAN または専用ネットワークにデプロイする場合、サーバーは通常 Caddy を通じて Let's Encrypt などの公開無料証明書を取得できません。インストール時に Caddy 内部証明書を選択した場合、アクセス端末に Caddy ローカルルート証明書をインストールし、ブラウザーがシステム発行の HTTPS 証明書を信頼するようにする必要があります。これにより「安全ではありません」「証明書が無効です」「接続はプライベートではありません」などの警告を避けられます。
この節は次の場面に適用されます。
- 内網 IP、内網ドメイン、または公開解決できないドメインでシステムへアクセスする。
- インストールスクリプトで「Caddy 自己署名証明書」または Caddy internal certificate を選択した。
- 管理コンソール、ユーザーポータル、コラボレーションリンクは開けるが、ブラウザーが証明書を信頼しない。
前提条件
- 製品デプロイが完了し、サービスが起動している。
https://<APP_DOMAIN>/admin/loginまたはhttps://<APP_DOMAIN>/app/loginなどのアクセスアドレスを確認済みである。- インストールサーバーへログインし、インストールディレクトリを読める。
- 証明書をインストールする端末種別、Windows、macOS、Linux、iOS、Android、Firefox などを確認している。
Caddy ルート証明書を取得する
インストールサーバー上で Caddy ローカルルート証明書を探します。
$INSTALL_PATH/data/caddy/pki/authorities/local/root.crt$INSTALL_PATH は製品インストールディレクトリです。例: /opt/sa。次のコマンドでファイルとフィンガープリントを確認できます。
ls -l $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt
openssl x509 -in $INSTALL_PATH/data/caddy/pki/authorities/local/root.crt -noout -subject -issuer -fingerprint -sha256システムへアクセスする必要があるユーザーには root.crt のみを配布してください。同じディレクトリ内の秘密鍵ファイルを配布したり、チャット、クラウドストレージ、メール添付へアップロードしたりしないでください。
配布推奨
root.crt を識別しやすい名前に変更します。
Sa2web-internal-root-ca.crtユーザーへ配布する際は、次の情報も一緒に提供してください。
| 項目 | 説明 |
|---|---|
| 証明書用途 | 内網デプロイの Sa2web HTTPS アクセスを信頼するため |
| 対象アドレス | https://<APP_DOMAIN>/ |
| 証明書フィンガープリント | openssl ... -fingerprint -sha256 の SHA256 フィンガープリント |
| 適用範囲 | このシステムへアクセスする業務 PC、テスト端末、モバイル端末 |
企業に統一端末管理基盤がある場合は、ドメインポリシー、MDM、端末管理基盤、システムイメージで一括配布することを推奨します。
Windows
root.crtをローカルに保存する。- 証明書ファイルをダブルクリックし、「証明書のインストール」をクリックする。
- 「ローカルコンピューター」を選択する。管理者権限がない場合は「現在のユーザー」を選択できる。
- 「すべての証明書を次のストアに配置する」を選択する。
- 「参照」をクリックし、「信頼されたルート証明機関」を選択する。
- インポート完了後、ブラウザーを閉じて再起動する。
https://<APP_DOMAIN>/admin/loginに再アクセスして証明書状態を確認する。
管理者 PowerShell でもインポートできます。
Import-Certificate -FilePath .\Sa2web-internal-root-ca.crt -CertStoreLocation Cert:\LocalMachine\RootmacOS
root.crtをローカルに保存する。- 証明書をダブルクリックし、「キーチェーンアクセス」を開く。
- 証明書を「システム」キーチェーンへインポートする。
- 証明書を探して詳細を開く。
- 「信頼」を展開し、「この証明書を使用するとき」を「常に信頼」に設定する。
- システムパスワードを入力して保存する。
- ブラウザーを終了して再起動し、システムアドレスへアクセスする。
Chrome、Safari、Edge は通常 macOS システムキーチェーンを使用します。Firefox は追加インポートが必要な場合があります。
Linux
Debian/Ubuntu:
sudo cp Sa2web-internal-root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificatesRHEL/CentOS/Rocky Linux/AlmaLinux:
sudo cp Sa2web-internal-root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trustインストール後、ブラウザーを閉じて再起動してください。警告が残る場合、特に Firefox が独自証明書ストアを使用していないか確認してください。
Firefox
Firefox は一部環境で OS 証明書ストアに完全には依存しません。ルート証明書を直接インポートできます。
- Firefox 設定を開く。
- 「プライバシーとセキュリティ」に入る。
- 「証明書」を探し、「証明書を表示」をクリックする。
- 「認証局」タブで「インポート」をクリックする。
root.crtを選択する。- 「この CA を信頼してウェブサイトを識別する」を選択する。
- 確認後 Firefox を再起動する。
企業環境では Firefox の enterprise roots ポリシーを有効化し、Firefox が OS 証明書ストアを信頼するようにできます。
iOS と iPadOS
- 企業が承認した経路で
root.crtを端末へ送信する。 - 端末で証明書ファイルを開き、プロファイルをインストールする。
- 「設定」 > 「一般」 > 「VPN とデバイス管理」でプロファイルインストールを完了する。
- 「設定」 > 「一般」 > 「情報」 > 「証明書信頼設定」に入る。
- このルート証明書の「完全に信頼」を有効にする。
- Safari または他のブラウザーを再起動し、システム URL へアクセスする。
Android
メーカーによりメニュー名は異なりますが、通常は次の手順です。
root.crtを端末へ保存する。- 「設定」 > 「セキュリティ」 > 「暗号化と認証情報」に入る。
- 「証明書をインストール」または「CA 証明書をインストール」を選択する。
root.crtを選択し、インストールを確認する。- ブラウザーを再起動してシステム URL へアクセスする。
一部 Android バージョンや企業ブラウザーは、ユーザーが手動インストールした CA 証明書を信頼しない場合があります。その場合は MDM または端末管理ポリシーで配布してください。
インストール結果を検証する
インストール完了後、次へアクセスします。
https://<APP_DOMAIN>/
https://<APP_DOMAIN>/admin/login
https://<APP_DOMAIN>/app/login期待される結果:
- ブラウザーアドレスバーに証明書エラーが表示されない。
- 証明書チェーンにローカル Caddy ルート証明書が見える。
- 管理コンソールとユーザーポータルへ正常にログインできる。
- コラボレーションリンクも対象端末で証明書警告を出さない。
コマンドラインで確認する場合:
curl -I https://<APP_DOMAIN>/端末がルート証明書を信頼していれば、HTTP レスポンスヘッダーが正常に返ります。
証明書更新と再インストール
次の場合は、ルート証明書を再配布して再インストールしてください。
- 製品を再インストールし、
$INSTALL_PATH/data/caddy/pkiを削除した。 - インストールディレクトリを変更、または新サーバーへ移行し、Caddy 内部 CA が再生成された。
- Caddy ローカルルート証明書を手動削除またはローテーションした。
- ユーザー端末を再インストール、または信頼済みルート証明書ストアをクリアした。
製品アップグレード時に $INSTALL_PATH/data を保持している場合、通常はルート証明書の再インストールは不要です。
よくある質問
| 問題 | 原因 | 対応 |
|---|---|---|
| ブラウザーがまだ安全ではないと表示する | 証明書が信頼済みルート証明書ストアに入っていない | OS 手順に従って再インポートし、ブラウザーを再起動する |
| Firefox だけエラーになる | Firefox が独自証明書ストアを使用している | Firefox 証明書設定で個別にインポートする |
| モバイルブラウザーがまだエラーになる | モバイル OS が CA を完全に信頼していない | iOS は「完全に信頼」を有効化し、Android は MDM 配布を推奨する |
| ドメインと証明書が一致しない | アクセスアドレスがインストール時のドメインまたは IP と違う | インストール時に設定したシステムアクセスドメインを使用する、または証明書を再設定する |
root.crt が見つからない | Caddy がローカル CA をまだ生成していない、またはパスが誤っている | $INSTALL_PATH を確認し、サービス起動後に再確認する |
| コラボレーションユーザーがまだ警告を見る | 実際にアクセスする端末へルート証明書が入っていない | コラボレーションユーザーの実端末にルート証明書をインストールする |
セキュリティ注意事項
- 管理者が確認した経路から受け取ったルート証明書だけをインストールしてください。
- インストール前に SHA256 フィンガープリントを確認してください。
- Caddy CA 秘密鍵を配布しないでください。
- 退職、端末回収、端末廃棄時には、企業セキュリティポリシーに従って不要なルート証明書を削除してください。