Problem RestAPI - Zugriff via Curl/nginx/php-fpm Error 502

Hallo, ich hab ein Problem welches mich gerade zur Verzweiflung treibt. Ich habe Shopware 4.0.8 installiert. Als Webserver ist nginx im Einsatz und php-fpm über Socket. Wenn ich auf die RestAPI von meinem lokalen Intranet zugreife - alles wunderbar. Funktioniert einwandfrei. Wenn ich jedoch genau das gleich Skript von einer anderen Domain auf dem gleichen Server ausführe auf dem auch Shopware liegt - erhalte ich im Error Log folgendes: 2013/06/02 13:50:01 [error] 446#0: \*74388 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 80.123.456.789, request: "GET /api/version? HTTP/1.1", upstream: "fastcgi://unix:/tmp/php5-fpm.sock:" Ich habe leider nichts gefunden, was dieses Verhalten erklärt. Von nginx bekomme ich dann nur einen 502 angezeigt. Hat hier vielleicht jemand eine Idee? Wie gesagt, von einem anderen Server ausgeführt - ist der Zugriff ohne Probleme - aber ich benötige das Skript auf diesem Server - weshalb ich das zum laufen kriegen müsste. Im Einsatz habe ich den shopware_api_client unverändert wie er auch im Tutorial verwendet wird.

Hi, Kannst Du das noch genauer erklären?! Was heißt „Zugriff über Intranet“? Greifst Du auf einen Localhost zu? Oder auf einen Staging Server? Oder inter auf einen externen Server? Für mich klingt es ein wenig nach einem Sandbox Thema. Ist aber mal nur geraten. LG Michael

Das Problem ist gelöst :slight_smile: noch zur Begriffsklärung: Zugriff über Intranet bedeutete: Zugriff von unserem internen Server auf den Hostingserver wo Shopware läuft (also extern). Das Problem trat nur auf wenn man über einen vHost auf dem gleichen externen Server auf shopware zugegriffen hat. Insofern war schon fast klar das PHP hier das Problem sein müsste. Lösung des Problems: Es lag wohl an den Einstellungen von den fastcgi_params für PHP. Für alle die evtl. auf das gleiche Problem stossen sollten - hier was ich geändert habe: Aufgrund Performanceoptimierung war bei nginx/php-fpm eingestellt: fastcgi\_keep\_conn on; Nachdem ich das deaktiviert habe, wurde es etwas besser, aber jeder 4-5 Request liefert weiterhin einen 502. Die vollständige Lösung brachte dann: fastcgi\_keep\_conn off; fastcgi\_cache\_lock on; Denke ich werde für den API Zugriff auf Shopware eine Sub-Domain nutzen, da mir diese Einstellungen für einen Live-Betrieb nicht zusagen und eher kontraproduktiv sind.

1 Like