我知道如何configure let's encrypt for nginx。我很难配置让我们在docker镜像中使用nginx进行加密。我们的加密证书已在etc/letsencrypt/live
文件夹中进行符号链接,我无权查看/etc/letsencrypt/archive
有人可以建议出路吗?
答案 0 :(得分:3)
如果有人遇到此问题,我已将文件夹安装到docker容器中解决了问题。
etc/letsencrypt
和etc/ssl
个文件夹装入docker -v
标志来装入卷。别忘了打开容器的port 443
。根据您的安装方式,可以在docker容器中启用https而无需更改nginx路径。
docker run -d -p 80:80 -p 443:443 -v /etc/letsencrypt/:/etc/letsencrypt/ -v /etc /ssl/:/etc/ssl/ <image name>
答案 1 :(得分:0)
我加我的错误。也许有人会发现它有用。
我安装了letencrypt的/ live目录,而不是整个letencrypt目录树。
此问题:
/ live文件夹仅保存到/ archive文件夹的符号链接,该链接未通过我的方法安装到docker容器。
(实际上,我什至安装了一个/ certs文件夹,该文件夹与活动文件夹符号链接,因为我在开发环境中有该certs文件夹,同样的问题..没有安装实际(符号链接)文件)
当我挂载/ etc / letsencrypt而不是/ live时,所有问题都消失了
我的docker-compose.yml的一部分
services:
ngx:
image: nginx
container_name: ngx
ports:
- 80:80
- 443:443
links:
- php-fpm
volumes:
- ../../com/website:/var/www/html/website
- ./nginx.conf:/etc/nginx/nginx.conf
- ./nginx_conf.d/:/etc/nginx/conf.d/
- ./nginx_logs/:/var/log/nginx/
- ../whereever/you/haveit/etc/letsencrypt/:/etc/letsencrypt
该配置的最后一行很重要。更改自
- ./certs/:/etc/nginx/certs/
在我的情况下,/ certs是/ etc / letsencrypt / live的符号链接。如上所述,这是行不通的。