Saya sudah mendapat sertifikat ssl wildcard untuk*. domain.no dengan menghasilkan CSR dan saya menerima .file pem dari penyedia ssl. Sekarang saya memiliki file kunci termasuk:
server.kunci
sertifikat.pem (termasuk Sertifikat Menengah dan SSL-sertifikat)
Saya ingin menggunakan sertifikat ini pada docker-nginx yang menyertakan beberapa subdomain, file konfigurasi saya terlihat seperti di bawah ini:
/etc/nginx / conf.d / default.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
Https tidak berfungsi dan memberikan kesalahan berikut di browser:
This site can’t be reachedTry:Checking the connectionChecking the proxy and the firewall
Karena saya memiliki kesalahan berikut di docker-logs, saya telah mengubah Dockerfile menjadi:
Kesalahan:
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 Yang Dimodifikasi:
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
Sekarang tidak memberikan kesalahan dalam docker-log namun masih tidak bekerja dengan HTTPS. :(
Saya sudah mencoba untuk memeriksa kesalahan.masuk / var/log / nginx dengan menghubungkan ke nginx-container dan cat file tetapi tidak ada dalam file.
Bantuan apa pun akan dihargai.
Diperbarui:
Saya telah memodifikasi port kontainer docker Nginx menjadi 443 (- p 443: 443)dan mengubah izin /etc / nginx / ssl menjadi 644, sekarang jika saya membuka url menggunakan https itu memberikan kesalahan berikut:
There are issues with the site's certificate chain (net::ERR CERT COMMON_NAME_INVALID)
Meskipun mengatakan itu dikeluarkan oleh saya ssl-provider.