首页 > 解决方案 > 看板 Docker SSL

问题描述

我想部署kanboard docker镜像。到目前为止,在 80 端口上一切都运行良好。现在我想让它只能通过 https 访问。我有自定义证书。有四个文件:*.cer、*.csr、*.pfx、*.key 如何配置 docker 容器 (nginx) 以使用我自己的 SSL 证书访问?

docker run -d --restart always \
-v kanboard_data:/var/www/app/data \
-v kanboard_plugins:/var/www/app/plugins \
-v kanboard_ssl:/etc/nginx/ssl \
--name kanboard -p 443:443 -t kanboard/kanboard:latest

谢谢

标签: dockersslnginxkanban

解决方案


只需将您的证书和私钥复制到 docker 映像的 /etc/nginx/ssl/ 目录即可。您可以在 Dockerfile 中执行此操作。这是我的(这是我的整个 Dockerfile - 我只需要 3 行)

FROM kanboard/kanboard
COPY <path/to/whatever.cer> /etc/nginx/ssl/kanboard.crt
COPY <path/to/whatever.key> /etc/nginx/ssl/kanboard.key

确保您更改参数以反映您的证书和私钥在您的开发机器上的位置。

Kanboard 的官方 docker 镜像带有Nginx 服务器。如果您查看 docker 映像中 /etc/nginx/nginx.conf 中的 Nginx 配置文件,您会看到它已经包含以下几行:

ssl_certificate /etc/nginx/ssl/kanboard.crt;
ssl_certificate_key /etc/nginx/ssl/kanboard.key;

这是我为 Dockerfile 中的每个 COPY 指令获得第二个参数的地方。我根本不需要修改 nginx.conf。

一旦我将上述 COPY 指令添加到我的 Dockerfile 中,我所要做的就是重新构建映像然后运行它,现在我可以通过 https 访问我的服务器了。


推荐阅读