https Moodle Zugriff

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

mamue

Benutzer
Registriert
24. Jan. 2022
Beiträge
6
Reaktionspunkte
0
Punkte
1
Guten Tag,

ich habe das Problem auf meiner Synology NAS das installierte Moodle über <subdomain.meine.webseite>/moodle und https aufrufbar zu machen. Über http://<subdomain.meine.webseite>/moodle oder <subdomain.meine.webseite>/moodle geht es einwandfrei.

Eine im Moodle-Forum beschriebene Methode in der config.php den CFG-wwwroot Eintrag auf https zu ändern führt bei Aufruf der URL <subdomain.meine.webseite>/moodle oder https://<subdomain.meine.webseite>/moodle zu einer Umlenkung auf die DSM-Loginseite https://<subdomain.meine.webseite>:5001. Das gilt merkwürdigerweise auch, wenn in den DSM-Systemeinstellungen ein anderer Port als 5001 für HTTPS eingestellt wird. Der Port 5001 ist ja der voreingestellte DSM https Port, weswegen mein Problem womöglich eher mit Einstellungen der Synology, als mit der Moodle-Software zusammenhängt. Hat jemand eine Idee?

Installation
Die Moodle-Installation erfolgte durch Aufruf der Paketinstallation unter Verwendung der DSM-URL https://<subdomain.meine.webseite>:5001
Dennoch wird dann von den Synology-Moodle-Installationsskripten die URL ohne SSL mit <subdomain.meine.webseite>/moodle/install.php aufgerufen und die Webadresse http://<subdomain.meine.webseite>/moodle als unveränderbare Voreinstellung gesetzt. Diese Einstellung lässt sich in der Synology-Moodle Installationsmaske auch nicht ändern. Die Installation läuft dann auch einwandfrei durch und Moodle ist dann unter <subdomain.meine.webseite>/moodle von Außen erreichbar. Aber leider eben unter http://

Systemverhalten
  1. Wird nun in web/moodle/config.php der Eintrag CFG-wwwroot auf https://<subdomain.meine.webseite>/moodle geändert, ergibt ein Aufruf der URL <subdomain.meine.webseite>/moodle, also ohne https, automatisch den DSM-Login https://<subdomain.meine.webseite>:5001

  2. Test des Webbrowser mit Port 1234
    Da der Port 443 im LAN von einer anderen Maschine belegt ist, erfolgt im Router auch eine Portweiterleitung HTTPS mit 1234. Die Erstellung der Datei web/moodle/test.html und ihr Aufruf über https://<subdomain.meine.webseite>:1234/moodle/test.html ist dann auch erfolgreich.
    Grundsätzlich kann also über https unter Angabe des Ports auf Einträge im Verzeichnis von web/moodle zugegriffen werden.

Angaben zu Software und NAS
  • Synology DSM 6.2.4 mit Update 3
    http auf https Umleitung aktiviert, https auf 5001
    Ein Let's encrypt Zertifikat ist installiert
  • Synology Moodle 3.9.7
  • Das NAS befindet sich hinter einem Router
    Mittels CNAME wird <subdomain.meine.webseite > auf die IP der DynDNS gesetzt
  • Der Router gibt über Portweiterleitungen die Ports 5001, 1234 und 80 an das NAS weiter.
    443 kann nicht verwendet werden, da im LAN von einer anderen Maschine blockiert.
    Der DSM-Login über <subdomain.meine.webseite > funktioniert so einwandfrei.
    Auch Programme wie Photo Station oder Kalender lassen sich mit Angabe des zugewiesenen Ports aufrufen.
 
Da ich mich mit moodle nicht auskenne, wäre mein Ansatz ein anderer als moodle direkt per https anzusprechen. Nämlich über den Reverse Proxy der DS. Da kannst du zum Beispiel einstellen: Eingehender Port X (https) wird intern an Port Y (http, moodle Port) weitergeleitet.
 
Nämlich über den Reverse Proxy der DS. Da kannst du zum Beispiel einstellen: Eingehender Port X (https) wird intern an Port Y (http, moodle Port) weitergeleitet.
Also kann sein ich ich bin auf dem Holzweg. Aber mein Problem liegt doch noch vor der DS beim Router. Es geht ja um den Zugriff von Außen, nicht aus dem LAN.

1. URL-Aufruf https://<subdomain.meine.webseite>:1234/moodle läuft über den Router mit Portweiterleitung von 1234 zur DS.
Die DS liefert die moodle-Webseite zurück.
2. Auf der moodle-Webseite gibt es Links der Art https://<subdomain.meine.webseite>/moodle/irgendwas
Wenn diese URL aufgerufen werden, dann landet dieser URL-Aufruf am Router. Der sieht https ohne Portangabe, also gilt Port 443.
Da der Port 443 am Router aber schon belegt ist, läuft diese Anfrage dann an eine andere fremde Maschine.

Ich komme doch mit einem normalen https ohne explizite Portangabe gar nicht bis zu meiner DS.
Wie hilft mir dann der Reverse Proxy?
 
So hilft er dir gar nix. Ist dann eher ein Problem bei Moodle, dass man dort irgendwie alle links mit :1234 überschreiben müsste, weil alle Ports außer 443 eben explizit mit Portnummer aufgerufen werden müssen bei https.
Müsste man mal moodle Doku oder Forum suchen diesbezüglich.

Helfen könnte es allerdings z.b., wenn du die 443 auf die DS lenkst und dafür 'den anderen ominösen webdienst' über einen reverse proxy auf der DS ansprichst.
 
  • Like
Reaktionen: Ulfhednir
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat