[英]Adding Let's Encrypt certificates to debian:9 docker image
[英]How to configure Let's encrypt certificates for nginx inside a docker image?
我知道如何為nginx配置let的加密 。 我很難配置讓我們用docker鏡像中的nginx進行加密。 讓加密證書在etc/letsencrypt/live
文件夾中進行etc/letsencrypt/live
,我無權查看/etc/letsencrypt/archive
的真實證書文件
有人可以建議出路嗎?
如果有人遇到這個問題,我已經通過將文件夾安裝到docker容器中解決了這個問題。
etc/letsencrypt
和etc/ssl
文件夾安裝到etc/letsencrypt
-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>
我加錯了。 也許有人會發現它很有用。
我掛載了letsencrypt的/ live目錄,而不是整個letsencrypt目錄樹。
這個問題:
/ live文件夾只是將符號鏈接保存到未使用我的方法掛載到docker容器的/ archive文件夾。 (事實上我甚至掛了一個符號鏈接到live文件夾的/ 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的符號鏈接。 這不能像我上面描述的那樣工作。
如果您使用的是nginx,Docker和Letsencrypt,您可能會喜歡以下Github項目: https-portal 。
它可以自動執行大量手動操作,並使用docker-compose
輕松管理配置。 來自README:
對於某些背景..該項目還討論了黑客新聞: HTTPS-Portal:由Nginx,Let's Encrypt和Docker提供支持的自動HTTPS服務器
(免責聲明:我與該項目沒有任何關系,只是一個用戶)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.