ssl - 如何配置 Let's encrypt 证书用于 docker 镜像中的 nginx?

标签 ssl encryption nginx docker lets-encrypt

我知道如何 configure let's encrypt for nginx .我很难配置 let's encrypt with nginx inside docker image。 Let's encrypt 证书在 etc/letsencrypt/live 文件夹中有符号链接(symbolic link),我无权查看 /etc/letsencrypt/archive

中的真实证书文件

有人可以建议出路吗?

最佳答案

我补充我的错误。也许有人会发现它很有用。

我挂载了 letsencrypt 的/live 目录,而不是整个 letsencrypt 目录树。

这个问题:
/live 文件夹仅包含指向/archive 文件夹的符号链接(symbolic link),该文件夹未使用我的方法安装到 docker 容器。 (事实上​​ ,我什至挂载了一个符号链接(symbolic link)到实时文件夹的/certs 文件夹,因为我在开发环境中有那个 certs 文件夹,同样的问题..真正的(符号链接(symbolic link)的)文件没有挂载)

当我挂载/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 的符号链接(symbolic link)。这不能像我上面描述的那样工作。

关于ssl - 如何配置 Let's encrypt 证书用于 docker 镜像中的 nginx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37842690/

相关文章:

java - Ubuntu 下的 OpenJDK 11 支持 TLSv1.3 吗?

ssl - 我们如何在不重定向的情况下在两个端口(一个 HTTP 和一个 HTTPS)上运行 fastAPI 应用程序?

docker - docker网络覆盖是否像http通信一样保护websocket通信

缓存 404s - NGINX 还是 Varnish ?

ssl - Nginx 正在获取旧的 ssl 证书

ssl - 带有中间证书的客户端 SSL

python - Twisted Python、TLS 和客户端/服务器证书身份验证错误

tomcat - 异常 : server certificate change is restricted during renegotiation

encryption - 为什么在密码学中使用 XOR?

java - 在java中加密一个十六进制字符串