Tengo un certificado SSL comodín para *.domain.no al generar un CSR y recibí un .archivo pem del proveedor de SSL. Ahora tengo los archivos clave que incluyen:
servidor.clave
certificado.pem (incluye certificado intermedio y certificado SSL)
Quiero usar este certificado en un docker-nginx que incluye algunos subdominios, mi archivo de configuración se ve a continuación:
/etc / nginx / conf.d / por defecto.conf
server { listen 443 ssl; server_name test.domain.no; access_log /var/log/nginx/nginx.access.log; error_log /var/log/nginx/nginx.error.log; ssl on; ssl_certificate /etc/ssl/certificates.pem; ssl_certificate_key /etc/ssl/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { proxy_pass {dockerEndpoint}; proxy_redirect off; ##proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; }}
Nginx-Dockerfile:
FROM nginxVOLUME /etc/nginx/conf.dCOPY default.conf /etc/nginx/conf.d/COPY certificates.pem /etc/sslCOPY server.csr /etc/sslCOPY server.key /etc/ssl
El https no funciona y da el siguiente error en el navegador:
This site can’t be reachedTry:Checking the connectionChecking the proxy and the firewall
Como tengo el siguiente error en docker-logs, he cambiado Dockerfile a:
Error:
BIO_new_file("/etc/ssl/certificates.pem") failed (SSL: error:02001014:system library:fopen:Not a directory:fopen('/etc/ssl/certificates.pem','r') error:2006D002:BIO routines:BIO_new_file:system lib)nginx: [emerg] BIO_new_file("/etc/ssl/certificates.pem") failed (SSL: error:02001014:system library:fopen:Not a directory:fopen('/etc/ssl/certificates.pem','r') error:2006D002:BIO routines:BIO_new_file:system lib)
Dockerfile Modificado:
FROM nginxCOPY default.conf /etc/nginx/conf.d/#CMD ["nginx", "-g", "daemon off;"]RUN mkdir /etc/nginx/sslRUN chown -R root:root /etc/nginx/sslRUN chmod -R 600 /etc/nginx/sslCOPY certificates.pem /etc/nginx/sslCOPY server.key /etc/nginx/ssl
Ahora no da error en los docker-logs, sin embargo, todavía no funciona con HTTPS. :(
He intentado comprobar el error.inicie sesión en /var / log / nginx conectándose al contenedor nginx y abra el archivo, pero no hay nada en el archivo.
Cualquier ayuda sería apreciada.
Actualizar:
Modifiqué el puerto del contenedor acoplable Nginx a 443 (- p 443:443) y cambié el permiso de /etc / nginx / ssl a 644, ahora si abro la url usando https, aparece el siguiente error:
There are issues with the site's certificate chain (net::ERR CERT COMMON_NAME_INVALID)
Aunque dice que es emitido por mi proveedor de SSL.