Elixir Phoenix フレームワークで構築されたサイトがあります。Web サイトは、開発モードと本番モードの両方で正常に動作します。
phoenix サーバーが dev モードで実行されている場合、Let's Encrypt 証明書の更新に問題はありませんが、まったく同じアプリが prod モードで実行されている場合、更新しようとするとパーミッション エラーが発生し続けます。同じFreeBSDサーバー上で、同じユーザーによって実行されたまったく同じアプリについて話していることに注意してください-両方のコマンドなしで. 唯一の違いはsudo
MIX_ENV=prod
また、prod モードでは、priv/static/.well-known/acme-challenge/(some-unique-string)
Letsencrypt がアクセスしようとすると、phoenix サーバーが 404 エラーをログに記録することにも注意しました
問題は、「prod」モードと「dev」モードの間で、フェニックスサーバーがディレクトリ/ファイルのアクセス許可をどのように異なる方法で処理しているのかということです。
- Elixir 1.2.4 と Phoenix 1.1.4 の使用
アップデート:
皆さん、LetsEncrypt と Phoenix フレームワークは急速に進化しているため、LetsEncrypt と Phoenix 1.2.0 の最新の cerbot を使用している場合、上記の問題はもはや問題ではありません。
ただし、これは元の質問に対する回答である必要はありません。