Hallo kk,
mir ist nach dem Umstieg auf 3.2.4 etwas aufgefallen, das ich gerne einmal zur Einordnung teilen möchte – bin mir nicht sicher, ob das so gewollt ist oder ein Nebeneffekt, den ich einfach noch nicht richtig verstehe.
Setup: Ich habe eine Domain ([tt]ddns.example.tld[/tt]) im Panel als "Proxy" auf [tt]http://127.0.0.1:82/liveconfig/hosting/dnsupdate[/tt] angelegt, um sie als eigene DynDNS-Update-URL für Kundenrouter (FritzBox, Ubiquiti UDM oder aber Synology) zu nutzen.
Beobachtung: Egal was ich als Ziel eintrage (mit oder ohne trailing Slash), im generierten Apache-vHost landet immer ein Slash am Ende:
ProxyPass "/" "http://127.0.0.1:82/liveconfig/hosting/dnsupdate/" upgrade=websocket nocanon
ProxyPassReverse "/" "http://127.0.0.1:82/liveconfig/hosting/dnsupdate/"
Das scheint an dieser Stelle in apache.lua zu liegen (Zeilennummer kann je Version leicht abweichen):
if string.sub(dst, -2) == '/*' then dst = string.sub(dst, 1, string.len(dst)-1) end
if string.sub(dst, -1) ~= '/' then dst = dst .. '/' end
Warum das für mich relevant wurde: Die eigene [tt]/liveconfig/hosting/dnsupdate[/tt]-Route scheint auf eingehende Requests mit trailing Slash ([tt].../dnsupdate/?hostname=...[/tt]) mit 404 zu reagieren, während sie ohne Slash ([tt].../dnsupdate?hostname=...[/tt]) ganz normal mit 401 (fehlende Zugangsdaten) reagiert – also grundsätzlich erreichbar ist.
Dadurch laufen alle DynDNS-Update-Requests über den Proxy ins Leere, sobald die Domain als Proxy-Typ im Panel verwaltet wird.
Ich habe das lokal mit curl direkt gegen den internen Port reproduziert (mit und ohne Slash, jeweils identischer Query-String), das Verhalten war reproduzierbar unterschiedlich.
Frage: Ist das gewolltes Verhalten (und ich sollte die dnsupdate-Route anders/über einen anderen Weg ansprechen), oder ist das eine Lücke zwischen dem generierten Proxy-Ziel und der eigenen Routen-Matching-Logik?
Falls es tatsächlich ein Zusammenspiel ist, das so nicht beabsichtigt war, würde mich freuen, wenn das mal jemand mit tieferem Einblick in den Code gegenspiegeln könnte – nicht, dass ich da was übersehe.
Danke schon mal & viele Grüße