Proxmoxではhttpsでダッシュボードにアクセスするが、デフォルトだとオレオレ証明書を使っているためブラウザに保護されていない通信とされてしまう。今回はこれをlets encryptに置き換えて警告が出ないようにする。
手順概要
- ACMEアカウントの作成(proxmoxダッシュボード)
- ポート開放(ルーターの管理画面から設定)
- 証明書の取得(proxmoxダッシュボード)
ACMEアカウントの作成
以下画像のようにdatacenterのACMEタブを選択し、Accounts の Addボタンを押す
次にメールアドレスをlets encryptに登録するメールアドレスを設定し、規約を読んでAccept TOSのチェックボックスにチェックを入れ、Registerボタンを押す
下画像のように成功したことを確認したらメッセージウィンドウを閉じる
Acc
Accountsにdefaultという名前のアカウントが追加されていれば次へ進む
ポート開放
lets encryptの証明書を取得時や定期更新時にcertbotというものが動くのだがそれは80番ポートでlets encryptからの通信を待ち受ける必要がある。そのため通信がproxmoxホストマシン上に到達するようにルーターで設定を行う。設定方法はルーターによって異なるため自分の機器にあった方法で行う。なお私は必要ないので使わなかったがHTTPサービスを運用しており80番ポートを開放できない人はDNS認証というものを使えばいいらしい。
ホストのアドレスの確認
証明書の取得
ノードのCertificatesタブでACMEアカウントの設定を行う。
登録したいドメインを入れてCreateを押す
ドメインが登録されるので、登録されたドメインを選択してOrder Certificates Now ボタンを押す
数十秒で証明書の取得とproxmoxサーバーへの適用が終わる。失敗したときはポート開放がうまくできているか確認、すでに80番ポートをリッスンしているサービスを停止させるなどする。
これで手順は終わり。数分から数十分経てばブラウザに警告は表示されなくなる。
少し待つべし
これらの手順を行ってから下図の様になっても慌てないでほしい。すぐに反映されるわけではないため数分から数十分待ってからもう一度アクセスすればよい。おそらく認証局のエッジサーバーにデータが行き渡るまで時間がかかっている?
自動更新について
有効期限が切れる。または有効期限切れ30日以内になった場合に自動更新をするため、有効期限3ヶ月から30日を引いた60日に一度自動更新される。その際も80番ポートが開いている必要がある。
コメント