Ich wollte mir auf meinem Synology NAS das Dockerimage von Stirling-PDF installieren, aber ich habe diese Meldung bekommen „Von unbekannter Stelle unterzeichnetes Zertifikat“
Kurzanleitung
// 1. Zertifikat von "Cloudflare" laden
openssl s_client -showcerts -connect production.cloudflare.docker.com:443 <nul 2>nul | openssl x509 -outform PEM > I:\cloudflare_docker_com.pem
// 2. Datei auf Diskstation laden
/volume1/docker/cloudflare_docker_com.pem
// 3. SSH-Session, mit Root-Rechten "sudo -i"
// 4. Datei in anderen Ordner kopieren
cp /volume1/docker/cloudflare_docker_com.pem /etc/ssl/certs/
// 5. Aus zwei Zertifikaten ein neues Zertifikat erstellen
cat /etc.defaults/ssl/certs/ca-certificates.crt /etc/ssl/certs/cloudflare_docker_com.pem > /volume1/docker/new.crt
// 6. Ein Symlink erstellen
sudo ln -s /etc/ssl/certs/cloudflare_docker_com.pem /etc/ssl/certs/`openssl x509 -hash -noout -in /etc/ssl/certs/cloudflare_docker_com.pem`.1
// 7. Nach dem Symlink suchen
ll /etc/ssl/certs/.1
// 8. Das Ergebnis sollte so aussehen
lrwxrwxrwx 1 root root 36 Apr 17 23:08 /etc/ssl/certs/dfekjt.1 -> /etc/ssl/certs/cloudflare_docker_com.pem
// 9. Diskstation neu starten und nochmal versuchen
Code-Sprache: JavaScript (javascript)
Ausführliche Anleitung
Das ist die komplette Fehlermeldung von Portainer:
failed to deploy a stack: stirling-pdf Pulling
da9db072f522 Pulling fs layer
815927f0a214 Pulling fs layer
7c7ead784c0a Pulling fs layer
8175130c5e6e Pulling fs layer
31ab4b748403 Pulling fs layer
7c9bb57dd52c Pulling fs layer
8175130c5e6e Waiting
31ab4b748403 Waiting
7c9bb57dd52c Waiting
error pulling image configuration: Get
"https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/6a/6a5f34d15e6b1f1844104556ac0973b47a59c67cff8fd035b2b184b7d6ac0159/data?verify=1733177731-95fDa4J055H%2BpBrdCfBDiXKqPKw%3D":
x509: certificate signed by unknown authorityCode-Sprache: JavaScript (javascript)
Ich habe im Netz eine Anleitung gefunden, wie man das Zertifikat von „Cloudflare“ bei dem Synology NAS hinzufügen kann.
- Wir besorgen uns das Zertifikat von „Cloudflare“, ich habe es „cloudflare_docker_com.pem“ genannt, falls der Befehl „openssl“ nich funtioniert, muss OpenSSL installiert werden
// Test ob OpenSSL installiert ist
I:\OpenSSL\OpenSSL-1.1.1h_win32>openssl version
OpenSSL 1.1.1h 22 Sep 2020
// Zertifikat von "Cloudflare" laden
openssl s_client -showcerts -connect production.cloudflare.docker.com:443 <nul 2>nul | openssl x509 -outform PEM > I:\cloudflare_docker_com.pem
Code-Sprache: JavaScript (javascript)
2. Laden wir die heruntergeladene Datei mit Hilfe der Web-Benutzeroberfläche von der Diskstation, in einen Ordner auf dem NAS hoch. Ich habe die Datei in „/volume1/docker/cloudflare_docker_com.pem“ abgelegt.
3. Starten wir eine SSH-Session, z.B. mit Putty (mit Root-Rechten „sudo -i“).
4. Jetzt kopieren wir die Datei von „/volume1/docker/cloudflare_docker_com.pem“ nach „/etc/ssl/certs/“.
cp /volume1/docker/cloudflare_docker_com.pem /etc/ssl/certs/
5. Als nächstes kombinieren wir den Inhalt von zwei Zertifikatsdateien und erstellen da raus eine neue Datei.
cat /etc.defaults/ssl/certs/ca-certificates.crt /etc/ssl/certs/cloudflare_docker_com.pem > /volume1/docker/new.crtCode-Sprache: JavaScript (javascript)
6. Hier wird symbolischer Link (Symlink) für ein CA-Zertifikat im OpenSSL-Zertifikatsspeicher erstellt. Die Datei, die aus diesem Befehl entsteht, hat einen zufälligen namen, wie z.b. „dfekjt.1“.
sudo ln -s /etc/ssl/certs/cloudflare_docker_com.pem /etc/ssl/certs/`openssl x509 -hash -noout -in /etc/ssl/certs/cloudflare_docker_com.pem`.1Code-Sprache: JavaScript (javascript)
7. Jetzt suchen wir nach dem „Symlink“.
ll /etc/ssl/certs/.1
wenn der „Symlink“ gefunden wurde, dann sollte das so aussehen.
lrwxrwxrwx 1 root root 36 Apr 17 23:08 /etc/ssl/certs/dfekjt.1 -> /etc/ssl/certs/cloudflare_docker_com.pemCode-Sprache: JavaScript (javascript)
8. Die Diskstation neu starten und nach dem Neustart nochmal versuchen, dann sollte es klappen.