Python

letsencrypt-autoコマンド実行時のpythonモジュールのエラー

letsencrypt の証明書取得の記事も増えてきたので、導入を検討し挑戦してみました。

ネックだったのは証明書の有効期限が 3 ヶ月という部分と、AWS で ELB を使用している場合に証明書の自動更新ができないことでした。

一旦は、ELB を介さずに EC2 の IP アドレスに対して Route53 で A レコードを作成することとします。

Let’s Encryptのインストール準備

証明書取得に使うスクリプトは python ですが、python のバージョンが 2.7 以上でいくつかの必要なモジュールがあるので注意が必要です。

まずは、インストールを進めていき、エラーが発生したら都度対応することとします。

なお、AmazonLinux の場合は、初回のみ letsencrypt-auto コマンドに –debug オプションを付けないと実行できません。

最終的な目標としては、証明書の取得と nginx への設定。そして証明書の自動更新となります。

Let’s Encryptのインストール

Let’s Encrypt のインストールを進めていきます。

pyOpenSSLのインストール

ここで、以下のエラーが発生しました。

pip コマンドでモジュールを確認してみると OpenSSL がないので、インストールします。

インストールしたら pip list で確認します。

cryptographyのインストール

ここで、再度、letsencrypt-auto コマンドを実行します。すると、次は以下のエラーに遭遇しました。今度は cryptography のようです。

同じく cryptography もインストールしてみます。しかし、インストールには成功するものの cryptography が pip list で参照できないという・・・。

試しに pip の一覧に出てくるモジュールをアップデートしても結果は変わりませんでした。

合間に試してて時間が取れなかったので、続きができたら追記します。

参考

「AmazonLinuxでLet’s Encryptを利用する」

AmazonLinuxでLet's Encryptを利用するSSL(https)でのサイトアクセスが当たり前の時代になり(Googleの動向で)、SSL のサーバ証明書を設定する機会も増えました。...