Probleme mit FastCGI-Bedingung  [GELÖST]

Haben Sie einen Bug entdeckt? Teilen Sie es uns mit.
Post Reply
Phate
Posts: 2
Joined: Wed 5. Mar 2025, 16:52

Probleme mit FastCGI-Bedingung

Post by Phate »

Hallo liebe Community
ich habe ein Problem mit meiner Apache-Konfiguration. (PHP 8.2.28, Laravel-Projekt). Anfragen an Laravel-API-Routen wie https://demo.ze-chat.de/api/news liefern einen Apache-404-Fehler, obwohl die Routen korrekt in php8.2 artisan route:list angezeigt werden:

Code: Select all

GET|HEAD  api/news                    NewsController@index
GET|HEAD  api/settings/guest_access   SettingsController@getGuestAccess
Das Problem liegt an der FastCGI-Bedingung in /etc/apache2/keyhelp/vhosts/sascha.conf:

Code: Select all

<FilesMatch "\.php$">
    <If "-f %{REQUEST_FILENAME}">
        SetHandler "proxy:unix:/run/php/keyhelp_sascha.socket|fcgi://keyhelp_sascha.socket"
    </If>
</FilesMatch>
Diese Bedingung verhindert, dass Anfragen wie /api/news an index.php weitergeleitet werden, da sie nicht auf eine existierende .php-Datei verweisen. Ich habe versucht, die FastCGI-Bedingung in den zusätzlichen Anweisungen für HTTPS im Keyhelp-Dashboard unter Domains → demo.ze-chat.de zu überschreiben:

Code: Select all

<FilesMatch "\.php$">
    SetHandler "proxy:unix:/run/php/keyhelp_sascha.socket|fcgi://keyhelp_sascha.socket"
</FilesMatch>
<Proxy fcgi://keyhelp_sascha.socket>
    ProxySet connectiontimeout=5 timeout=60
</Proxy>

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/api/
RewriteRule ^ /index.php [L]

<Directory "/home/users/sascha/www/demo/ziora/public/">
    AllowOverride All
    Options -Indexes +ExecCGI +FollowSymLinks
    Require all granted
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</Directory>

<Location /test-directive>
    Require all granted
    Header set X-Test-Directive "Keyhelp-ACP-Test"
</Location>
Diese Direktiven werden in /etc/apache2/keyhelp/custom_vhosts/sascha_demo.ze-chat.de_https.conf gespeichert, haben aber keinen Vorrang, da sascha.conf (über IncludeOptional keyhelp/vhosts/*.conf in /etc/apache2/keyhelp/keyhelp.conf) später geladen wird. Ein Test mit curl -k -I https://demo.ze-chat.de/test-directive zeigt keinen X-Test-Directive-Header, was bestätigt, dass die ACP-Direktiven ignoriert werden.

Da Keyhelp keine <VirtualHost>-Blöcke in den zusätzlichen Anweisungen für HTTPS erlaubt, kann ich die VHost-Konfiguration nicht direkt überschreiben. Wie kann ich sicherstellen, dass meine Direktiven in sascha_demo.ze-chat.de_https.conf Vorrang haben, sodass alle .php-Anfragen ohne die <If "-f %{REQUEST_FILENAME}">-Bedingung an FastCGI weitergeleitet werden? Alternativ: Gibt es eine Möglichkeit, die FastCGI-Bedingung in sascha.conf für diese Domain zu deaktivieren?

Vielen Dank für eure Hilfe!

Gruß,
Sascha
---------------------------------------------------------------------------


Ich bin sicher, dass die Ursache des Problems bei KeyHelp liegt
(Probleme ohne KeyHelp-Bezug gehören ins Offtopic-Forum)
Ich denke das es an den Bedingungen für Fast-CGI liegt

Server-Betriebssystem + Version
(z.B. Ubuntu 20.04)
Debian12

Eingesetzte Server-Virtualisierung-Technologie
(z.B. keine, OpenVZ, KVM, XEN, etc.)
keine

KeyHelp-Version + Build-Nummer
(z.B. 22.0 - Build 2366)
25.1 (Build 3433)

Problembeschreibung / Fehlermeldungen
Wie oben beschrieben

Erwartetes Ergebnis
Kein Error404 mehr

Tatsächliches Ergebnis
Error404 bei Aufruf von zB https://demo.ze-chat.de/api/news

Schritte zur Reproduktion


Zusätzliche Informationen
(z.B. kürzlich durchgeführte Änderungen am Server, Auszüge aus Protokolldateien (/var/log/*, /var/log/keyhelp/php-error.log, etc.))
User avatar
Alexander
Keyweb AG
Posts: 4554
Joined: Wed 20. Jan 2016, 02:23

Re: Probleme mit FastCGI-Bedingung  [GELÖST]

Post by Alexander »

Diese URL liefert bei mir folgendes aus:

https://demo.ze-chat.de/api/news

Code: Select all

[{"id":3,"title":"Individuelle Gestaltung der Boxen","content":"Jeder User kann jetzt f\u00fcr sich entscheiden, wo er welche Box haben will und somit auch steuern, ob beide Sidebars angezeigt werden sollen, oder nicht.","author_id":1,"author":"Phate","created_at":"2025-06-30 01:18:31"},{"id":2,"title":"[u]BB-Codes[\/u]","content":"[b]Bold[\/b],[i]Italic[\/i] und [u]Underlined[\/u] funktionieren jetzt auch!","author_id":1,"author":"Phate","created_at":"2025-06-29 00:26:37"},{"id":1,"title":"Es geht [b]endlich[\/b] los","content":"Die [i]Entwicklung[\/i] von [u][i]Ziora[\/i][\/u], dem Nachfolger von ZE-Chat und Zephyr hat begonnen. In den n\u00e4chsten Wochen und Monaten k\u00f6nnt ihr euch hier und im Forum \u00fcber den aktuellen Entwicklungsstand erkundigen. Ich hoffe, das es fix voran geht, und das ich euch bald erste gro\u00dfe Fortschritte pr\u00e4sentieren kann.","author_id":1,"author":"Phate","created_at":"2025-06-28 00:04:25"}]

Sind aktuell bereits Workarounds in den Apache Konfigurationsdateien implementiert worden?!
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Phate
Posts: 2
Joined: Wed 5. Mar 2025, 16:52

Re: Probleme mit FastCGI-Bedingung

Post by Phate »

:shock: Entschuldige bitte. Wieso geht das plötzlich? Ich leere nach jedem Versuch den Browsercache oder öffne im Inkognito Fenster. Seit ich den Beitrag erstellt habe, habe ich auch nichts mehr gemacht. Ich bin verwirrt :roll:
Trotzdem vielen Dank fürs lesen. Kann also geschlossen werden.
Allerdings nicht, bevor ich mich für dieses Mega ACP bedankt habe. *Thumbsup*
User avatar
Alexander
Keyweb AG
Posts: 4554
Joined: Wed 20. Jan 2016, 02:23

Re: Probleme mit FastCGI-Bedingung

Post by Alexander »

Schön das es jetzt funktioniert ;).

Hätte mich auch sehr überrascht, wenn plötzlich KeyHelp nicht mehr mit Laravel-Anwendungen zusammenarbeiten würde ;).
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Post Reply