Auf dieser Seite zeigen wir, wie du einen Webserver vor den Server setzen kannst. Dies ermöglicht die Verwendung von Standard-Ports und auch andere Tricks wie das Hinzufügen von Verschlüsselung auf dem Server. Dieses Beispiel wird auf einem Raspberry Pi 3 mit Raspian Jessie und Nginx durchgeführt. Für andere Betriebssysteme musst du die Befehle möglicherweise entsprechend anpassen, aber das Konzept bleibt das gleiche.
Installation der erforderlichen Software
sudo apt-get update sudo apt-get install nginx
Anpassung der nginx-Konfiguration
Bei der Installation wird eine Standardsite erstellt. Wir nehmen diese Datei
sudo nano /etc/nginx/sites-available/default
um folgendermaßen aussehen:
server { listen 80 default_server; listen [::]:80 default_server; # Größere Uploads zulassen client_max_body_size 1000m; server_name _; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:3344; } location /socket/ { proxy_pass http://127.0.0.1:3344/socket/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; } # Das Drucker-Frontend benötigt kein Passwort, also verbieten wir es von außen. location /mod/front/ { deny all; } location /modules/front2/ { deny all; } }
Und dann starte nginx neu:
service nginx restart
Jetzt kannst du auf die IP-Adresse des Servers verweisen, ohne einen Port hinzuzufügen.
Hinzufügen von https-Unterstützung
Wenn du vorhast, von außerhalb deines lokalen Netzwerks auf den Server zuzugreifen, ist es ratsam, den Zugriff mit https zu schützen. Dazu ist die Installation eines Zertifikats erforderlich. In diesem Beispiel erstellen wir unser eigenes Zertifikat, da dies eine einfache und kostenlose Möglichkeit ist, unseren Server zu schützen. Die Browser werden sich über dieses Zertifikat beschweren. Nicht, weil es unsicher ist, sondern weil sie nicht überprüfen können, wer es ausgestellt hat. Da du aber weißt, dass du es ausgestellt hast, ist es sicher, das Zertifikat in deinem Zertifikatspeicher abzulegen, damit sich sich dein Browser nicht mehr beschwert.
Lass uns also unser Zertifikat erstellen:
apt-get install ssl-cert make-ssl-cert generate-default-snakeoil --force-overwrite
Jetzt ändern wir die Standardkonfiguration so, dass sie wie folgt aussieht:
server { listen 80 default_server; listen [::]:80 default_server; listen 443 ssl; # Größere Uploads zulassen client_max_body_size 1000m; # Selbstsigniertes Zertifikat ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; server_name _; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:3344; } location /socket/ { proxy_pass http://127.0.0.1:3344/socket/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; } # Das Drucker-Frontend benötigt kein Passwort, also verbieten wir es von außen. location /mod/front/ { deny all; } location /modules/front2/ { deny all; } }
und starte dann nginx neu:
service nginx restart
Das ist alles. Jetzt kannst du hiermit auf den Server zugreifen:
https://<Deine IP-Adresse>