In der Dokumentation zu SonarQube
wird erklärt, wie Sie SSL konfigurieren, wenn Sie unter Linux arbeiten, und wie Sie die nativen Tomcat-Funktionen für eine einfache Testumgebung nutzen können. Es wird jedoch empfohlen, diese Funktionen nicht in einer produktionsähnlichen Umgebung zu verwenden.
SonarQube empfiehlt stattdessen die Verwendung eines Reverse Proxy, um Ihre Sonar-Installation zu sichern. Mit Hilfe von IIS und dem Url Rewrite-Modul ist die Einrichtung ein Kinderspiel.
Was Sie brauchen:
Nach der Installation und Aktivierung dieser Funktionen musste ich einen IIS-Reset durchführen und den IIS-Manager erneut öffnen, damit alle Funktionen funktionierten.
Als nächstes gehen wir die Schritte zur Konfiguration des Reverse-Proxys durch.
Der erste Schritt besteht darin, eine IIS-Website zu erstellen, die als Reverse Proxy fungieren wird.
Sofern Sie keine Kerberos-Authentifizierung vornehmen müssen, brauchen Sie keine Form der Authentifizierung auf Ihrem Reverse Proxy zu konfigurieren. Er sollte die Herausforderung von SonarQube weiterleiten, wenn Sie dort die Active Directory-Integration konfiguriert haben.
Konfigurieren Sie die Bindung für die Verwendung von SSL und richten Sie die richtigen Hostnamen und das Zertifikat ein. Ich schummle ein wenig, indem ich das auf meinem Rechner installierte IIS Express Development Certificate verwende:
Als nächstes öffnen wir die URL-Umschreibungseinstellungen, um den Reverse-Proxy zu konfigurieren:
Klicken Sie auf Regel hinzufügen, um eine neue Regel zu erstellen.
Und wählen Sie "Reverse Proxy" aus der Liste der Vorlagen:
Geben Sie die URL des Zielservers ein (kann https://xebia.com/blog:9000 oder auch ein Remote-Server sein) und klicken Sie auf OK, um die Regel zu erstellen:
Hier müssen wir eine zusätzliche Servervariable hinzufügen, die wir zusammen mit der Anfrage an den anderen Server senden, um SonarQube mitzuteilen, dass er sich tatsächlich hinter einem Reverse Proxy befindet, der das SSL-Offloading für ihn durchführt:
Klicken Sie auf "Hinzufügen...", um die Servervariable zu erstellen:
Fügen Sie die Servervariable"X_FORWARDED_PROTO" hinzu, damit das Rewrite-Modul diesen Header manipulieren kann:
Die Variable sollte nun in der Variablenliste aufgeführt sein. Klicken Sie auf "Zurück zu den Regeln", um zur Liste der Regeln zurückzukehren:
Bearbeiten Sie die URL-Rewrite-Regel, die Sie gerade erstellt haben:
Erweitern Sie den Abschnitt Servervariablen in der Regeldefinition:
Fügen Sie den"X_FORWARDED_PROTO"-Header hinzu, den Sie im vorherigen Schritt zugelassen haben, und geben Sie ihm den Wert"https":
Wenden Sie die Änderungen an:
Jetzt sollten Sie in der Lage sein, über SSL auf SonarQube zuzugreifen. Möglicherweise möchten Sie die ursprüngliche SonarQube-Instanz so konfigurieren, dass sie nur Datenverkehr von Ihrem Reverse-Proxy oder nur Datenverkehr von localhost über die Windows Firewall akzeptiert.