さくらのクラウド Codex CLIでLet's EncryptのSSL証明書を取得してhttpsを設定する方法

前提条件

はじめに

今回は、さくらのクラウド上で稼働しているCodex CLIに、

日本語の指示だけで別のサーバーへSSHログインし、

Let's EncryptのSSL証明書を取得してhttpsを設定する手順を検証いたします。

動作環境
ApacheとHTTP(80番)・HTTPS(443番)の設定

Apacheのインストールと80番・443番の開放が完了していることが前提です。

詳細は以下の記事をご参照ください。

DNSの設定

対象サーバーのグローバルIPをドメインのAレコードに登録します。

Let's Encryptの証明書取得にはDNSが正しく設定されている必要があります。

※対象サーバーへログインするSSHの鍵は事前に設定してください。

事前に下記の内容を参考にCodex CLIをインストールしてください。

対象サーバーも作成してください。以下の内容を参考にしてください。

certbot SSL証明書を取得 https設定をする

この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。

(v0.160.0以降から表示されます。)

コマンド説明
$ codexCodex CLIを実行いたします。
 
$ vi ~/.codex/config.toml
[projects."/home/rocky/sakura"]
trust_level = "trusted"
 
下記の画面が表示された場合は、codexをCtrl+cで終了し、
viでconfig.tomlを追記いたします。

1. Codex CLIがインストールされている操作元サーバーで実行してください。

下記のコマンドを実施してください。(一般ユーザーで実施してください。)

certbotのインストールからSSL証明書取得、HTTPS設定までを完了しました。

補足

動作確認

2. ブラウザーでドメイン名を入力して確認いたしましょう。

「保護されていない通信」の警告が表示されず、httpsで正常にアクセスできれば完了です。

Apacheのデフォルトページ「HTTP Server Test Page」が表示されれば正常に動作しています。

3. 自動更新タイマーの設定はコマンドでも確認できます。

対象サーバーにSSHでログインし、下記のコマンドを実施してください。

注意事項

まとめ

・事前に、DNS(Aレコード)の設定と、ファイアウォールの80番・443番の開放が必要。

・certbotがエラーになっても、Codex CLIがログなどから原因を調べ、証明書の取得と

Apacheへの設定を分けて実行するなど、やり方を変えて自動でやり直してくれる。

・HTTPからHTTPSへのリダイレクトと、自動更新タイマーの有効化まで実行してくれる。

以上で「さくらのクラウド Codex CLIでLet's EncryptのSSL証明書を取得してhttpsを設定する方法」を完了いたします。

まずはお気軽に

クラウド構築・設定をお任せしませんか?

AWS・Azure・さくら・GCP など7クラウド対応。構築から運用まで承ります。

返信は通常1営業日以内