我有一个使用 Elixir Phoenix 框架构建的网站。该网站在开发和生产模式下都运行良好。
当 phoenix 服务器在 dev 模式下运行时,我更新 Let's Encrypt 证书没有问题,但是当完全相同的应用程序在 prod 模式下运行时,我在尝试更新时不断收到权限错误。请注意,我说的是完全相同的应用程序,在同一个FreeBSD 服务器上,由同一个用户执行 - 两个命令都没有sudo
. 唯一的区别是MIX_ENV=prod
我还注意到,在 prod 模式下,当 Letsencrypt 尝试访问我priv/static/.well-known/acme-challenge/(some-unique-string)
的 phoenix +letsencrypt 的基本设置时,phoenix 服务器会记录 404 错误,此博客文章中有详细说明
问题是:phoenix 服务器在“prod”和“dev”模式之间如何处理目录/文件权限?
- 使用 Elixir 1.2.4 和 Phoenix 1.1.4
更新:
伙计们,由于 LetsEncrypt 和 Phoenix 框架发展迅速,如果您使用 LetsEncrypt 和 Phoenix 1.2.0 的最新 cerbot,我上面列出的问题不再是问题
不过,这不是对原始问题的回答。