Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unterstützung für HTTPS #121

Open
mdzio opened this issue Jul 15, 2018 · 3 comments
Open

Unterstützung für HTTPS #121

mdzio opened this issue Jul 15, 2018 · 3 comments
Labels
Verbesserung Verbesserungswunsch Web-Oberfläche Web-Benutzeroberfläche

Comments

@mdzio
Copy link
Owner

mdzio commented Jul 15, 2018

No description provided.

@mdzio mdzio added Verbesserung Verbesserungswunsch Web-Oberfläche Web-Benutzeroberfläche labels Jul 15, 2018
@martinrieder
Copy link

Ich habe bei mir erfolgreich den auf der CCU vorhandenen Webserver so konfigiert, dass er als reverse proxy fungiert. Das verursacht natürlich ein wenig Verzögerung, aber sonst gab es keine Probleme. Bei Interesse kann ich die Konfiguration dafür gerne mal raussuchen. Es ist nicht ganz trivial, weil das Dateisystem read-only eingebunden ist und natürlich bei jedem Update zurückgesetzt wird.

@mdzio
Copy link
Owner Author

mdzio commented Jun 16, 2024

Das hört sich interessant an. Gerne würde ich die Konfiguration mal sehen. Vielleicht lässt sich die Konfiguration des Webservers auch durch Add-Ons anpassen, ohne in den read-only Bereich zu gehen.

@martinrieder
Copy link

martinrieder commented Jun 16, 2024

Okay, das letzte Update hat mir die Konfiguration wieder zurückgesetzt. Ich habe aber bestimmt noch irgendwo ein Backup. Prinzipiell ist es aber recht einfach:

/etc/lighttpd/conf.d/proxy_httpsredirect.conf

#-------------------
# WebUI HTTPS (TLS)
#-------------------
$SERVER["socket"] == ":443" {
  server.document-root = server_root
  include "/etc/lighttpd/conf.d/sslsettings.conf"
  $HTTP["url"] =~ "^/.*\.(exe|oxml|hssml).*" {
    $HTTP["remoteip"] !~ "^(127\.0\.0\.1|::ffff:127\.0\.0\.1|::1)$" {
      url.access-deny = ( "" )
    }
  }
  $HTTP["url"] !~ "^/(config/)|(upnp/)|(webui/)|(ise/)|(api/)|(tools/)|(pda)|(pages/jpages)|(addons).*" {
    proxy.server = ( "" => ("localhost" => ("host" => "127.0.0.1", "port" => 8183)))
  }
  $HTTP["url"] =~ "^/(pages/jpages).*" {
    proxy.server = ( "" => ("localhost" => ("host" => "127.0.0.1", "port" => 39292)))
  }
}

Direkt darunter steht der gleiche Eintrag nochmal für IPv6. Für HTTP ohne Verschlüsselung gibt es auch einen eigenen Abschnitt. Es muss dann jeweils eine zusätzliche Umleitung auf den TCP-Port des Historian definiert werden, etwa so:

$HTTP["url"] =~ "^/historian/.*" {
    proxy.server = ( "" => ("localhost" => ("host" => "127.0.0.1", "port" => 8082)))
  }

Für die Änderung muss man mount -o remount,rw / ausführen, anschließend auch gerne mit mount -o remount,ro / den Schreibschutz wieder aktivieren. Der "Proxy" lässt sich danach per /etc/init.d/S50lighttpd reload starten. Hierin versteckt sich auch die Überprüfung, ob Umleitung auf HTTPS statt findet, nämlich durch /etc/config/httpsRedirectEnabled.

Ich habe mich auch noch eingehender mit der SSL-Konfiguration beschäftigt, denn die ist nicht mehr ganz frisch. So mancher Browser beschwert sich über die 'unsichere' Verschlüsselung. Das muss ich aber nun wirklich aus dem Backup rausfischen. ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Verbesserung Verbesserungswunsch Web-Oberfläche Web-Benutzeroberfläche
Projects
None yet
Development

No branches or pull requests

2 participants