nginx - Port 80 -> :8080/client

Erreichen der Cloudstack Webconsole via Port 80.


Die Weboberfläche von CloudStack lauft auf einem Apache Tomcat Webserver im Unterordner "/client". Der Standartport für Tomcat ist 8080. Um direkt über den Port 80 mit Tomcat zu kommunizieren, muss eine Weiterleitung bzw. Umleitung eingerichtet werden. Die einfachste und schnellste Lösung ist einen weiteren kleinen Webserver zu installieren der standartmäßig auf dem Port 80 lauscht und die Anfragen über einen Proxy_pass weiterleitet. Hierfür nutze ich nginx (gesprochen: "engine-x") auf dem Cloudstack-Management-Server (Centos 6.x).

Installation:

Installiere EPEL (Extra Packages for Enterprise Linux) sudo yum -y install epel-releaseInstallieren von Nginx sudo yum -y install nginxStarte nginx service nginx startWird nun nur die IP-Adresse des Servers in den Browser eingegeben sollten die Worte "Welcome to nginx" zu lesen sein.

Einstellung:

Wechsel zum Ordner /etc/nginx/conf.d Lösche dort alle *.conf Dateien oder benenne sie um in *.conf.org Löschen: rm [datei].confUmbenennen: mv [datei].conf [datei].conf.orgErstelle eine neue Datei cloudstack.conf und füge folgendes ein: server { listen 80; server_name _; location / { rewrite ^ http://$host/client; } location /client { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/client; } } Starte nginx neu service nginx restartNun leitet der nginx Webserver alle Anfragen am Port 80 an den Port 8080 (in den Ordner /client) weiter, an dem der Apache Tomcat Webserver lauscht. Sollte der Browser dies nicht auf Anhieb umsetzen, muss erst der Cache des Browsers einmalig gelöscht werden.