Probleme mit ReverseProxy (nginx)

Tropaion

Member
Oct 2, 2020
30
0
11
28
Hallo,
ich habe seit neuestem ProxMox und wollte mir einen ReverseProxy für die WebGUI + VMs/LXCs einrichten.
Der ReverseProxy für die VMs/LXCs funktioniert ohne Probleme, aber die ProxMox-GUI wirft Fehler aus.
Die Oberfläche kommt zwar, aber wenn ich mich einloggen will kommt danach die Fehlermeldung: Connection Error 401: No Ticket (siehe Bild)
Nachfolgend meine ReverseProxy-Config:
server {
server_name ve.mydomain.at;
location / {
proxy_pass https://192.168.88.6:8006;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/ve.mydomain.at/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/ve.mydomain.at/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
server_name router.mydomain.at;
location / {
proxy_pass http://192.168.88.1;
}
}
server {
server_name parts.mydomain.at;
location / {
proxy_pass http://192.168.88.9;
}
}
Desweiteren habe ich dann auch noch mit certbot ein SSL-Zertifikat für ve.mydomain.at erstellt.
Hoffe es kann mir jemanden helfen, bin hier noch ziemlich neu :D (habe nicht gefunden wie ich das als Code taggen kann)
Lg,
Tropaion
 

Attachments

  • Error.png
    Error.png
    52.6 KB · Views: 16
Last edited:
Ist jetzt nicht wirklich eine direkte Lösung, aber bist du sicher, dass da jeder dein Proxmox aus dem Internet aus erreichen können soll?
Falls da doch mal eine Sicherheitslücke in dem Proxmox Webinterface ist, dann hat da jeder im Internet Root-Zugriff auf den kompletten Server und sämtlichen VMs/LXCs.

Ich persönlich würde die Proxmox WebUI nicht im Internet freigeben, sondern in einer VM/LXC einen Wireguard/OpenVPN Server installieren und den ins Internet lassen. Dann kannst du dich per VPN vom Internet aus in dein Heimnetz verbinden und Router, Proxmox etc direkt über die lokale IP ansprechen. Das macht die ganze Sache deutlich sicherer und du umgehst das Problem mit Proxmox und dem Reverse Proxy.
 
Last edited:
Hallo @Dunuin,
mir sind die Risiken durchaus bewusst, aber um ehrlich zu sein sind sie mir auch egal :D.
Wenn jemand mein System hacken will, wünsch ich ihm viel Spaß, es gibt dabei nichts zu gewinnen, ich habe hier nichts, was einem irgendwas bringen würde bzw. ich groß was verlieren würde. Private Home-Netzwerke sind da eher uninteressant.
Außerdem bin ich kein großer Fan von VPN, weil wenn ich mal nicht auf meinem privaten PC bin und dort keiner eingerichtet ist, ist das nervig. Bringt nur wieder zusätzliche Umstände.
Und wenn dann alles läuft so wie ich es gerne hätte, werde ich Authentifizierung mit YubiKey einrichten, da hab ich noch einen rumliegen und das geht dann auch auf andere PCs.

Lg,
Tropaion
 
@pakuzaz Kann ich natürlich machen.
Mein Ziel war es:
  • ProxMox WebUI mit ReverseProxy über Sub-Domain (nginx) erreichbar machen und von HTTP auf HTTPs umleiten
  • Catch All Blöcke für HTTP und HTTPs/SSL
    • Damit inaktive Sub-Domains blockiert werden und nicht zum nächsten Reverse-Proxy Eintrag weitergeleitet werden
    • Damit Catch All SSL ohne Warnung von Browser funktioniert, habe ich mir eine signiertes Wildcard-Zertifikat bei LetsEncrypt besorgt
Meine aktuelle reverse-proxy.conf:
Code:
upstream proxmox {
  server 192.168.88.6:8006;
}

#Block all unknown HTTP requests
server {
   listen 80 default_server;
   listen [::]:80 default_server;
   server_name _;

   return 444;
}

#Block all unknown HTTPS requests
server {
    listen 443 default_server ssl;

    ssl on;
    ssl_certificate /etc/nginx/ssl/mydomain.crt;
    ssl_certificate_key /etc/nginx/ssl/mydomain.key;

    return 444;
}

#Redirect HTTP traffic to ProxMox to HTTPs
server  {
  listen 80;
  server_name ve.mydomain.at;
  return 301 https://$server_name$request_uri;
}

#Redirect to ProxMox-GUI
server {
  listen 443;
  server_name ve.mydomain.at;
  ssl on;
  ssl_certificate /etc/nginx/ssl/mydomain.crt;
  ssl_certificate_key /etc/nginx/ssl/mydomain.key;
  proxy_redirect off;
  location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass https://192.168.88.6:8006;
    proxy_buffering off;
    client_max_body_size 0;
    proxy_connect_timeout  3600s;
    proxy_read_timeout  3600s;
    proxy_send_timeout  3600s;
    send_timeout  3600s;
  }
}

#Redirect to Router-GUI
server {
  listen 80;
  server_name router.mydomain.at;
  location / {
    proxy_pass http://192.168.88.1;
  }
}

#Redirect to PartDB-Server
server {
  listen 80;
  server_name parts.mydomain.at;
  location / {
      proxy_pass http://192.168.88.10;
  }
}

#Redirect to FHEM
server {
  listen 80;
  server_name home.mydomain.at;
  location / {
      proxy_pass http://192.168.88.11:8083;
  }
}
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!