Dockerized Nginx无法加载证书

时间:2019-11-07 10:16:12

标签: docker ssl nginx jenkins ssl-certificate

我正在尝试使用ssl对nginx进行docker化。在Jenkins控制台输出中,我看到此错误:

  

PEM_read_bio_X509_AUX()失败(SSL:错误:0909006C:PEM例程:get_name:无起始行:期望:受信任的证书)

当我使用这些命令检查ssl时

openssl x509 -in test.crt -text -noout
openssl rsa -in test.key -check

一切都很好。

这是我的文件;

Docker-compose:

proxy:
    build:
      context:  .
      dockerfile: nginx.Dockerfile
    ports:
      - "80:80"
      - "443:443"
    links:
      - api
    volumes:
      - ./etc/ssl/certs/nginx.crt:/etc/nginx/nginx.crt
      - ./etc/ssl/certs/nginx.key:/etc/nginx/nginx.key
      - ./etc/ssl/certs/nginx.csr:/etc/nginx/nginx.csr
    container_name: nginx
    networks:
      - corp

domain.com.conf:

listen 443 ssl;
server_name test.com;
ssl_certificate /etc/nginx/nginx.crt;
ssl_certificate_key /etc/nginx/nginx.key;

1 个答案:

答案 0 :(得分:1)

这是一个经常发生的错误,通常也可以很快得到解决。您将配置指向的证书文件不是证书文件。至少不是Nginx所说的。

如果您意外地在文件或Nginx配置中交换了私钥和SSL证书,则会发生这种情况。

检查 ssl_certificate 文件是否确实是您的SSL证书,以及 ssl_certificate_key 是否确实是您的密钥。如果您急忙或分神,将这些内容混合在一起并将错误的内容保存到错误的文件中并不少见。