Automate & AdminTool - Falscher Port bei Zugriff aus dem Internet

  • 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.

LordZed

Benutzer
Registriert
29. Nov. 2010
Beiträge
46
Reaktionspunkte
0
Punkte
6
Hallo zusammen! Ich wusste nicht genau wohin damit und glaube auch nicht, dass ich der erste mit dem Problem bin, aber ich hab anscheinend nicht richtig oder an der falschen Stelle gesucht ;)

Ich habe mir in meiner DiskStation das AdminTool und Automate installiert. Automate habe ich nochmals per vorgeschalteten PHP-Script abgesichert, dass nur Admin dieses aufrufen kann - AdminTool bringt soetwas ja von Haus aus mit. Nun habe ich aber das Problem, dass ich am Router den externen Port 443 auf den Port 5001 der DS weiterleite. Das führt dazu, dass der aufruf intern funktioniert, aber von extern ich das Problem habe, dass bei der URL immer der Port 5001 angehängt wird. Das Problem scheint beim AdminTool auch zu passieren. Wenn ich den Link rauskopiere und den Port entferne geht alles (wobei AdminTool mich trotzdem nicht rein lässt - weiß noch nicht genau wieso - vllt. absicht für externe Zugriffe?).

Weiß einer, wie ich dieses Port-Problem lösen kann?
 
(wobei AdminTool mich trotzdem nicht rein lässt - weiß noch nicht genau wieso - vllt. absicht für externe Zugriffe?).

Soweit ich mich erinnere - Ja. Admin Tool sieht sich die IP an und läßt nur das eigene Sub Netz rein
 
Mein AdminTool ist weder für den Zugriff aus dem Web gedacht (weil viel zu gefährlich), noch für eine 'produktive' Arbeit geschaffen worden. Das AdminTool soll Interessierten Einblicke verschaffen und vielleicht dazu anregen, sich mit Linux, PHP, JavaScript und ExtJS zu beschäftigen.

Itari
 
Hab ich ja auch garnichts gegen gesagt :) Meinte ja, dass ich vermute, dass das absicht ist! :) Mir geht es auch viel mehr um die Frage des Problems durch die Portweiterleitung am Router von einem anderen Port als den bei der DS eingestellten. Die 3rd Party Apps lassen sich halt nicht wirklich aufrufen, da sie immer mit dem intern konfigurierten Port aufgerufen werden anstelle einfach den Domainnamen so zu nehmen, wie er beim User ist...
 
Die 3rd Party Apps lassen sich halt nicht wirklich aufrufen, da sie immer mit dem intern konfigurierten Port aufgerufen werden anstelle einfach den Domainnamen so zu nehmen, wie er beim User ist...
Works as designed ;)
Keine Anwendung der Welt kann den externen Port der Anfrage erkennen, wenn eine Weiterleitung auf einen anderen Port erfolgt ist. Die Anfrage landet ja mit Port 443 beim Router. Der ersetzt den Port mit 5001 und leitet an die DS weiter. Die DS kann dann unmöglich erkennen, dass der Request ursprünglich auf Port 443 reingekommen ist und leitet in den Links auf den Port weiter, auf dem der Request bei ihr angekommen ist. Also Port 5001
 
Naja... es funktioniert aber durchaus bei Online-Anwendungen die Angabe mit relativen Pfaden, sprich ich gebe den Link mit "/webman/3rdparty/<Anwendungsname>" an und er setzt die Toplevel-Angabe davor. Das würde der Browser machen. Er erhält mir ja auch den DNS-Namen, also wieso sollte er nicht auch den Port erhalten!?

Es ist ja nicht so, dass die DiskStation den Link öffnet, sondern mir nur ein IFrame anzeigt in dem die Anwendung dargestellt wird und die Adresse könnte durchaus relativ angegeben sein. Wenn ich das in der Konfig richtig sehe sind sie dort auch relativ angegeben... ich denke also, dass das eigentlich kein Problem darstellen sollte auf die richtige Adresse+Port den Link zu setzen, da die DS den DNS-Namen und den Port bei relativen Angaben ja garnicht wissen muss!
 
Möglicherweise lösen sich das Problem, wenn man zum einen sich noch einmal genau anschaut, wie der Apache den Domain-Namen und den Port und die Weiterleitung über einen Router ins PHP-Skript weiterreicht (Stichwort Headervariablen), zum anderen kann man hier durchlesen, welche Möglichkeiten es für 3rd-party-Apps gibt.

Itari
 
Zum Verständniss da ich es gerade von hier aus nicht direkt testen kann:

Ich habe im DSM 3.0 also die Möglichkeit 3rd-Party-Apps anstelle mit der application.cfg auch mit einer Datei "config" in den DSM einzubinden. Wenn ich das richtig sehe kann ich hier Pfade ja dann auch relativ einbinden. Muss ich zuhause mal testen, wenn das so ist...

Eine Frage noch: Wenn ich - z.B. aus Kompatiblitätsgründen - eine config und eine application.cfg in der 3rd-Party-App definiere... würde die DSM 3.0 dann die config oder die application.cfg anziehen (oder beide, so dass ich in der DSM 2 Links hätte?)

Ich kanns halt gerade nicht ausprobieren, weil kein FS-Zugriff auf die DS, aber würd mich vorab schon interessieren! :)

PS: Danke für den Developer-Handbuch-Link :)

//EDIT
Gerade mit WebShell per Upload getestet und
1) Der Aufruf mit relativer URL funktioniert (nimmt den richtigen Port!)
2) Er verwendet config, wenn application.cfg und config vorhanden sind (es tauchen nicht beide im Menü auf!)

Ich denke das wussten die mir hier helfenden schon, aber es soll ja auch denen geholfen werden, die diesen Thread irgendwann mal finden :) Kann geschlossen werden!
 
Zuletzt bearbeitet:
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