我試圖使用這個教程來運行一個私有的docker注冊中心。但是,在我做完一切并運行docker-compose后,我從nginx容器中得到了以下錯誤
沒有為證書定義 "ssl_certificate_key"。 "/home/user/registry/nginx/ssl/key.pem"/p>
這里是registry.conf檔案:
upstream docker-registry {
server registry:5000;
}
服務器 {
listen 80;
server_name example.com;
回傳 301 https://example.com$request_uri。
}
服務器 {
listen 443 ssl http2;
server_name privatesecurereg.netspan.com;
ssl_certificate /home/user/registry/nginx/ssl/csr.pem。
ssl_certificate /home/user/registry/nginx/ssl/key.pem。
# 除錯用的日志檔案
error_log /var/log/nginx/error.log。
access_log /var/log/nginx/access.log。
位置 / {
# 不允許來自docker 1.5及以前的連接
# 1.6.0之前的docker沒有在ping時正確設定用戶代理,捕獲 "Go *"用戶代理
如果($http_user_agent ~ "^(docker/1.(3|4|5(?![0-9]-dev))|Go ).*$" ) {
回傳404。
}
proxy_pass http://docker-registry。
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;
}
什么是rpobelom,如何解決這個問題?
更新:
這是我的docker-compose:
nginx:
image: nginx:alpine
容器名稱: nginx
重新啟動:除非停止
tty: true
ports:
- "80:80"
- "443:443"
卷。
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./nginx/ssl/:/etc/nginx/ssl/
網路。
- mynet
uj5u.com熱心網友回復:
我認為你在docker-compose檔案中遺漏了一些東西。這就是我們使用的作業樣本。
nginx:
image: "nginx:alpine"
埠。
- 5000:443
鏈接。
- 注冊表:注冊表
卷。
- ./auth:/etc/nginx/conf.d
- ./auth/nginx.conf:/etc/nginx/nginx.conf:ro
注冊表。
影像:注冊表:2.7.0
卷。
- ./data:/var/lib/registry
請注意這部分內容
volumes:
- ./auth:/etc/nginx/conf.d
- ./auth/nginx.conf:/etc/nginx/nginx.conf:ro
這里的auth檔案夾有證書和密鑰檔案。還有用于docker注冊表登錄的httpd檔案。
在nginx.conf中,我們直接提到了nginx容器內部。
# SSL
ssl_certificate /etc/nginx/conf.d/csr.pem。
ssl_certificate_key /etc/nginx/conf.d/csr.key。
uj5u.com熱心網友回復:
你將你的證書目錄/home/user/registry/nginx/ssl/掛載到docker中的/etc/nginx/ssl
因此,在nginx配置中,你需要使用/etc/nginx/ssl下的ssl檔案,如果需要的話,改變fullchain.pem或privkey.pem。
ssl_certificate /etc/nginx/ssl/fullchain.pem。
ssl_certificate_key /etc/nginx/ssl/privkey.pem。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/316517.html
標籤:
下一篇:openResty無法寫入日志頭
