Mit Bezug auf meinen vorherigen Post muss ich hier um Hilfe bitten.
Ich hab schon dutzende Foren durchwühlt, aber das Fediverse soll ja leben und deswegen frage ich explizit hier um Rat.

Worum geht es?
Ich versuche eine Anwendung (filebrowser), die eine HTML Seite bereitstellt, von außen über eine Subdomain zu erreichen.

Was geht?
Ich kann über http://domain.de:8080 die Anwendung aufrufen und darin arbeiten.
Eine andere “nur-HTML” Subdomain funktioniert und ist zu erreichen (fotos.domain.de). Filebrowser ist im Lan über 192.168.0.50:8080 zu erreichen.

Was hab ich versucht?
Das wichtigste:
Seite local aufrufen ist schwer, da headless; aber lynx und w3m zeigen nichts; google.de wird dargestellt
Port ändern von 8080 zu 7000
BaseUrl ändern auf /daten / /filebrowser
VirtualHost config überprüft und geändert, mehrfach… Apache Proxy Module kontrolliert Apache Debug Logs überprüft

Ich brauche nun eine Art Troubleshooting, damit ich bei der Fehlersuche die schlimme Stelle finde; ich vermute es ist irgendwas banales wie falsche config o.ä.

Die Config:


  ServerName wolke.domain.de

  Location "/filebrowser/" <- in  Klammern
    ProxyPass http://127.0.0.1:8080/filebrowser
    ProxyPassReverse http://127.0.0.1:8080/filebrowser
  /Location <- auch Klammer

  ProxyPreserveHost On
  RewriteEngine On

  RewriteCond %{HTTP:Connection} Upgrade [NC]
  RewriteCond %{HTTP:Upgrade} websocket [NC]
  RewriteRule (.*) ws://127.0.0.1:8080/$1 [P,L]

  RewriteRule ^/filebrowser$ /filebrowser/ [L,R=301]
  RewriteCond %{SERVER_NAME} =wolke.domain.de
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

Dinge die fehlen, werden nachgereicht.

Edit: ich versuche mich momentan mit nginx statt Apache

Edit2: Danke für eure Hilfe, es läuft nun ordentlich, wenn auch nicht auf apache, aber ich hab meinen Schweinehund überwunden und bin auf nginx umgestiegen.

  • aard@kyu.de
    link
    fedilink
    arrow-up
    4
    ·
    11 months ago

    Kommt der Request auf dem Zielserver korrekt an? Ggf. brauchst du ein / nach filebrowser.

    Generell wuerde ich empfehlen reverse proxy mit was zu machen das explizit dafuer entwickelt wurde, so wie nginx. Apache war toll in den 90ern und fruehen 00ern, inzwischen ist das ausserhalb von Nischenanwendungen wie “ich will ne PHP-Anwendung reinwerfen, und Upstream testet nur mit Apache” meistens die schlechteste Loesung.

    • Geizeskrank@feddit.deOP
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Ich hab schon mehrere Varianten mit /filebrowser und /filebrowser/ bzw. auch anderen baseurl wie /daten durchprobiert.
      Wechsel zu nginx hatte ich schon versucht, aber damit hat meine piwigo gallery* gestreikt.
      Ich muss dazu sagen, dass ich ich das erste mal seit ~20 Jahren ernsthaft mit Webservern beschäftige.

      Vermutlich war ich nicht in der Lage nginx die richtigen php Module anzubieten.

      • aard@kyu.de
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        Apache wird immer dann schwer zu debuggen wenn man versucht mehrere verschiedene Anwendungen/Seiten in einem Apachen zu haben. nginx hat nix wie mod_php, PHP und aehnliches wird da via fastcgi angebunden, was bei der Ersteinrichtung etwas komplexer ist als mod_php.

        Ein “modernes” Setup bei dem Apache die PHP-Anwendung ausliefert haette einen nginx nach draussen der Reverseproxy auf den Apache und andere Server macht, und ggf. selber ein bisschen statisches Zeug ausliefert, und den Apache (oder mehrere davon, wenn mehrere Anwendungen) nur fuer die jeweilige Anwendung konfiguriert. Hat dann auch den zusaetzlichen Vorteil dass man die einzelnen Teile ordentlich isolieren kann (docker, podman, lxc, KVM, wenns richtig fett ist einen eigenen Server) - was zum einen debuggen erleichtert, zum anderen auch das Updaten spaeter, da du maximal immer nur eine Anwendung kaputtmachen kannst.

          • aard@kyu.de
            link
            fedilink
            arrow-up
            1
            ·
            11 months ago

            Auch hier gilt weiterhin: Je einfacher die Konfiguration, desto besser. nginx ist zwar meistens einfacher zu debuggen als Apache - noch einfacher wirds aber wenn die Konfiguration keine Seiteneffekte von anderen Anwendungen haben kann.

            Falls du das noch nicht machst, wirf Konfigurationsdateien in git. Docker oder Podman ist fuer Heimsetups ganz nuetzlich weil du da jeweils einen Container pro Anwendung bauen kannst, und die Containerconfig dann komplett in git werfen kannst. Update waere dann einfach ein Austausch des Containers. Ich selber benutz das eher weniger - ich hab einen wilden mix aus lxc, kvm und bare metal die mit Ansible verwaltet werden, aber bei Kleinsetups ist das erstmal einfacher das ueber Docker/Podman zu erschlagen.

    • Geizeskrank@feddit.deOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      11 months ago

      Das hab ich auch gelesen, aber da ich in den Klammern die Location angegeben habe, schmeißt er mir einen Fehler wenn ich zwischen ProxyPass und der Adresse noch ein / einfüge.

      Edit: ich sehe gerade, dass das nicht ordentlich angezeigt wird.

  • Black616Angel@feddit.de
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    Ah mist, bin heute nicht auf Arbeit und kann nicht vergleichen…
    Egal.

    Wofür hast du den ganzen Rewrite-Kram? Kannst du das mal ohne testen?

    Außerdem verstehe ich deine Formatierung nicht.

    Steht da Location wolke.domain.de ( ?

    Das müsste doch `` sein.

    • Geizeskrank@feddit.deOP
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Die Formatierung ist ziemlich in die Hose gegangen beim Posten; wie dem auch sei, ich versuche in der Zwischenzeit über nginx bessere Ergebnisse zu erzielen, da ich eh mal über einen Wechsel nachgedacht hatte.

  • mvpts@feddit.de
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    11 months ago

    Ich verwende caddy als reverse proxy und habe niemals gesehen zurück.

    Konfiguration über das caddyfile ist sehr einfach und die VirtualHost config muss in 98% der Fälle nicht angegriffen werden.

  • taladar@feddit.de
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    Im Zweifelsfall einfach mal mit tcpdump -AAA -n -i lo port 8080 schauen was der Apache da schickt oder ob überhaupt etwas.