我正在尝试使用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;
答案 0 :(得分:1)
这是一个经常发生的错误,通常也可以很快得到解决。您将配置指向的证书文件不是证书文件。至少不是Nginx所说的。
如果您意外地在文件或Nginx配置中交换了私钥和SSL证书,则会发生这种情况。
检查 ssl_certificate 文件是否确实是您的SSL证书,以及 ssl_certificate_key 是否确实是您的密钥。如果您急忙或分神,将这些内容混合在一起并将错误的内容保存到错误的文件中并不少见。