Sie können SSL aktivieren, um Liberty-Server zu sichern, die in IBM Cloud Private ausgeführt werden.
Informationen zu diesem Vorgang
Standardmäßig ist eine Mindestversion von SSL aktiviert. Wählen Sie eine der folgenden Methoden zur Konfiguration sicherer Kommunikation aus. Welche Methode infrage kommt, hängt möglicherweise davon ab, ob es sich um eine Entwicklungs- oder Produktionsumgebung handelt:
- SSL automatisch aktivieren und selbst signierte Zertifikate generieren. Optimal für die Entwicklung geeignet, da dies die einfachste Möglichkeit ist, eine Vertrauensbeziehung zwischen Anwendungen herzustellen. Selbst signierte Zertifikate werden von einem Browser jedoch nicht als vertrauenswürdig anerkannt.
In der Regeln wählen Sie die Option aus, wenn Sie schnell eine sichere Kommunikation zwischen Liberty-Anwendungen in einem Kubernetes-Cluster ermöglichen möchten. Wenn Sie selbst signierte Zertifikate generieren, müssen Sie in Ihrem Browserfenster eine Ausnahmebedingung hinzufügen, bevor Sie eine angegebene URL aufrufen können.
- SSL mit Zertifikaten anderer Anbieter aktivieren.
Wählen Sie diese Option aus, um Liberty in einer Umgebung mit vorhandenen Zertifikaten anderer Anbieter, für die bereits eine Vertrauensbeziehung hergestellt wurde, auzuführen.
- SSL-Standardwerte im Liberty-Docker-Image akzeptieren. Anwendungen kommunizieren nicht automatisch über verschiedene Server hinweg, wenn Sie diese Option verwenden.
Dadurch, dass Sie diese Standardwerte akzeptieren und nicht die geheimen Kubernetes-Schlüssel verwenden, hat der Server eine eigene ID und ist möglicherweise nicht in der Lage, mit anderen Servern zu kommunizieren.
SSL ist standardmäßig aktiviert. Wenn Sie SSL inaktivieren möchten, führen Sie die Schritte in diesem Abschnitt aus.
Vorgehensweise
- SSL automatisch aktivieren und selbst signierte Zertifikate generieren.
Legen Sie die folgenden Werte fest, wenn Sie das
Liberty-Helmdiagramm implementieren:
- ssl.enabled=true
- Mit dieser Option wird das Helmdiagramm über die Verwendung des sicheren Protokolls (HTTPS) informiert.
- ssl.useClusterSSLConfiguration=true
- Mit dieser Option wird das Helmdiagramm angewiesen, das erstellte Zertifikat zu mounten, das für den Keystore und den Truststore verwendet wird.
- ssl.createClusterSSLConfiguration=true
- Mit dieser Option wird Helm angewiesen, einen Job zu erstellen, um die selbst signierten Zertifikate und den geheimen Schlüssel für das Kennwort zu generieren. Wenn Sie bereits Liberty
mit createClusterSSLConfiguration implementiert haben, wählen Sie nicht die Option zum Erstellen der SSL-Konfiguration bei nachfolgenden Implementierungen aus. Die Auswahl, die SSL-Konfiguration ein zweites Mal zu erstellen, schlägt bei der Implementierung wahrscheinlich fehl. Wenn Sie überprüfen möchten, ob die Konfiguration bereits generiert wurde, führen Sie den Befehl kubectl get secrets aus. Wenn die folgenden geheimen Schlüssel angezeigt werden, setzen Sie ssl.createClusterSSLConfiguration auf "false":
mb-keystore, mb-keystore-password, mb-truststore, and mb-truststore-password
Anmerkung: Der Job liberty-secret-generator-deploy wird zum Generieren der SSL-Konfiguration verwendet. Wenn Probleme auftreten und Sie müssen die Konfiguration ein zweites Mal generieren, können Sie den Job löschen, indem Sie den Befehl kubectl delete job liberty-secret-generator-deploy ausführen. Sie müssen außerdem die folgenden geheimen Schlüssel entfernen: mb-keystore, mb-keystore-password,
mb-truststore, mb-truststore-password.
- service.port=Nummer_des_sicheren_Ports
- Der sichere Standardport ist 9443.
- service.targetPort=Nummer_des_sicheren_Ports
- Der sichere Standardport ist 9443.
- ingress.secureBackends=true
- Wenn Ingress aktiviert ist, verwenden Sie diese Option, sodass Ingress mit der gesicherten Liberty-Anwendung kommunizieren kann.
- SSL mit Zertifikaten anderer Anbieter aktivieren.
- Inaktivieren Sie SSL manuell im Liberty-Docker-Image.
- Legen Sie den folgenden Wert fest, wenn Sie das Liberty-Helmdiagramm implementieren:
- ssl.enabled=false
- Mit dieser Option wird das Helmdiagramm informiert, dass das sichere Protokoll (HTTPS) nicht verwendet wird.
- service.port=Nummer_des_nicht_gesicherten_Ports
- Der Port, der standardmäßig in Liberty nicht gesichert ist: 9080.
- service.targetPort=Nummer_des_nicht_gesicherten_Ports
- Der Port, der standardmäßig in Liberty nicht gesichert ist: 9080.
- ingress.secureBackends=false
- Wenn Sie Ingress aktiviert haben, verwenden Sie diese Option zum Inaktivieren von Ingress.