Я добавил несколько свежих SSL-сертификатов Let's Encrypt в мое приложение Phoenix, как описано в руководстве здесь: https://phoenixframework.readme.io/docs/configuration-for-ssl
Когда я пытаюсь запустить свой сервер в производственном режиме, я получаю следующую ошибку:
23:04:11.573 [info] Running MyAppWeb.Endpoint with Cowboy using http://:::4000
23:04:11.652 [error] Failed to start Ranch listener MyAppWeb.Endpoint.HTTPS in :ranch_ssl:listen([certfile: '/Users/FJ/projects/elixir/my_app/_build/prod/lib/my_app/priv/ssl/cert.crt', keyfile: '/Users/FJ/projects/elixir/my_app/_build/prod/lib/my_app/priv/ssl/priv.key', port: 443]) for reason :eacces (permission denied)
Я не понимаю, почему это происходит, потому что я дал файлам практически все права на чтение:
ls -la priv/ssl/
total 16
drwxr-xr-x 4 FJ staff 128 Apr 25 23:09 ./
drwxr-xr-x 9 FJ staff 288 Apr 25 23:09 ../
-rw-r--r-- 1 FJ staff 1708 Apr 25 23:02 cert.crt
-rw-r--r-- 1 FJ staff 1708 Apr 25 23:03 priv.key
Я использую MacOS локально, но в своей производственной среде (Alpine Linux) У меня та же ошибка.
Вот часть SSL производственной конфигурации Endpoint:
https: [port: 443,
otp_app: :my_app,
keyfile: "priv/ssl/priv.key",
certfile: "priv/ssl/cert.crt"
]