Reverseproxy für OpenHAB

rproxyWenn wir OpenHAB aus den entsprechenden Repositories installiert haben, wurde ein neuer, nicht priviligierter Nutzer für die Ausführung von OpenHAB eingerichtet. Diesem ist es jedoch nicht gestattet, Ports unterhalb von 1024 zu belegen. Wenn wir jedoch bei der Einrichtung der OpenHAB-Clients bzw. bei der Eingabe im Browser auf den Port verzichten wollen, benötigen wir einen sogenannten Reverse-Proxy.

Verfügbare Artikel zu openHAB

little_blue_dot Einleitunglittle_blue_dot Einbinden der Internetgeschwindigkeitlittle_blue_dot RFID-Lesegerät einbinden
little_blue_dot Installationlittle_blue_dot Präsenzerkennung via Bluetooth und Pinglittle_blue_dot Einbinden von DS18B20-Sensoren
little_blue_dot Konfigurationlittle_blue_dot Kleines Netzwerkmonitoringlittle_blue_dot ical-Abfallkalender einbinden
little_blue_dot Reverse-Proxy für OpenHABlittle_blue_dot Einbinden von LG-Fernsehern [Update]little_blue_dot openHAB als Wecker
little_blue_dot Datenspeicherung und Statistikenlittle_blue_dot Einbinden Schaltern und Kontaktenlittle_blue_dot Einbinden von Bewegungssensoren
little_blue_dot Regeln planen und konfigurierenlittle_blue_dot Einbinden von Funksteckdosen (433 MHz)little_blue_dot Einbinden einer FritzBox
little_blue_dot Einbinden von USB-Steckdosenleisten (SIS-PMS)little_blue_dot Infrarotgesteuerte Geräte einbindenlittle_blue_dot Sprachausgabe auf einem Raspberry
little_blue_dot Einbinden von Temperatursensorenlittle_blue_dot Steuerung mit NFC-Tagslittle_blue_dot Schaltbare Steckdosenleiste mit Relais
little_blue_dot Externer Zugriff mit my.openhab

 

 

 

Einleitung

Für den eben erwähnten Reverse-Proxy nutzen wir in diesem Artikel den schnellen und schlanken Webserver “nginx“, ausgesprochen “Engine-X“. Dieser startet einen “Mutterprozess” als Nutzer root, mit dem es uns möglich ist, den Webserver auf den Port 80, bzw. Port 443 zu binden, wie es für Webserver eigentlich auch üblich ist.

 

Installation

Wir installieren nginx, wie auch bereits OpenHAB, mittels apt-Paketverwaltung:

apt-get install nginx

 

Anschließend aktivieren wir den automatischen Start von nginx:

systemctl enable nginx

 

Konfiguration

Nun erstellen wir eine eigene Konfiguration. Zuvor jedoch sichern wir die originale Konfigurationsdatei:

cd /etc/nginx/sites-available/
mv default default.orig

 

Nun erstellen wir einen neue Datei “default“, hier mit dem Texteditor meiner Wahl:

nano default

 

Wir befüllen die neue Konfiguration mit folgendem Inhalt:

 

server {
    listen 0.0.0.0:80;
    server_name _;
    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
        proxy_pass                            http://127.0.0.1:8080/;
        proxy_set_header Host                 $http_host;
        proxy_set_header X-Real-IP            $remote_addr;
        proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Scheme   $scheme;
    }
}

Der Port 8080 muss natürlich auf den entsprechenden Port geändert werden, auf welchem unsere OpenHAB-Instanz erreichbar ist.

Die Tastenkombination “STRG+X” beendet “nano” und wir bestätigen die Abfrage der Dateispeicherung.

 

Abschluss

Nun starten wir nginx mittels:

/etc/init.d/nginx restart

und können ab sofort OpenHAB auf dem Port 80 erreichen.