Proxy für ausgehende Verbindungen (z.B. Plugin-Manager)

Hallo zusammen,

wir betreiben eine Shopware-Installation, die hinter sehr strengen Firewall-Regeln liegt. Alle ausgehenden Verbindungen müssen über einen Proxy laufen, wo dann per Whitelist auf freigegebene Domains geprüft wird.

Gibt es in Shopware eine Möglichkeit, eine Proxy-Adresse zu hinterlegen?

Über cURL ist so eine Proxy-Verbindung ja relativ einfach konfigurierbar. Aber es macht ja keinen Sinn, wenn ich das irgendwo selbst in den Code reinbastel. Deshalb hoffe ich, dass das konfigurierbar ist. Hat jemand eine Idee?

Ach ja, es geht dabei ganz akut noch um Shopware 4.

Vielen Dank vorab.

Hallo,

das gleiche Problem haben wir auch. Und auch andere aus dem Forum:
http://forum.shopware.com/discussion/30537/proxy-server-eintragen/p1

Für den PluginManager und die Shopwareupdates reicht es, wenn ich dies Zeile in der Datei
“engine/Shopware/Plugins/Default/Backend/SwagUpdate/Components/Download.php”
in Zeile 170 einfüge:

        // Proxy
        curl_setopt($ch, CURLOPT_PROXY, 'x.x.x.x:port');

 

Das viel größere Problem sind die ionCube verschlüsselten Plugins, die ebenfalls nach außen “telefonieren”. Hier können wir keinen Proxy implementieren.

@shopware [@Stephan Pohl](http://forum.shopware.com/profile/2/Stephan Pohl “Stephan Pohl”)‍ ‍:

In der setConfig() der Zend Curl Klasse gibt es die Parameter für proxy_host & proxy_port.
Siehe: engine/Library/Zend/Http/Client/Adapter/Curl.php (Zeile 152ff)

Wäre es nicht sinnvoll diese Zend Klasse für alle ausgehenden Verbindungen zu verwenden? 
Und in den Grundeinstellungen oder der config.php eine Konfigurationsmöglichkeit für den curl Proxy ein zu bauen?

Würde mich über Feedback oder bessere Ideen freuen :wink:

Viele Grüße aus Ulm

André

Am besten machst du dazu mal ein Ticket auf, dann können die Kollegen sich das ansehen!

Würde ja durchaus Sinn machen, soetwas in der config.php definieren zu können.

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Am besten machst du dazu mal ein Ticket auf, dann können die Kollegen sich das ansehen!

Würde ja durchaus Sinn machen, soetwas in der config.php definieren zu können.

Vielen Dank für den Hinweis, habe hier ein Ticket erstellt: Shopware Issuetracker;

Ich habe das gleiche Problem hinter einem Proxy zu sein und müsste diesen eintragen, gibts hierzu schon ein Update oder an welchen Stellen muss ich die Proxy-Daten eintragen?

Die Klasse engine/Library/Zend/Http/Client/Adapter/Curl.php hat eine setConfig Methode. Wer benutzt diese Methode bzw. Klasse?

Ich habe das Problem gelöst und konnte die Proxy-Einstellungen auf meinem RHEL7 System global für den Apache setzen. Hierzu einfach die Datei /etc/sysconfig/httpd um folgendes ergänzen und neu starten:

    http_proxy=http://host:port
    https_proxy=https://host:port
    ftp_proxy=ftp://host:port

@wahnsinn schrieb:

Hallo zusammen,

wir betreiben eine Shopware-Installation, die hinter sehr strengen Firewall-Regeln liegt. Alle ausgehenden Verbindungen müssen über einen Proxy laufen, wo dann per Whitelist auf freigegebene Domains geprüft wird.

Hallo wahnsinn,

wir wollen eine ähnliche Firewall einrichten und dann ebenfalls URLs/Domains whitelisten. Hast Du irgendwo eine Liste mit ausgehenden URLs gefunden oder habt Ihr selber den Code bzw. die Logfiles durchsucht? Es wäre natürlich toll, wenn Du Deine (ggf. reduzierte) Whitelist hier zur Verfügung stellen könntest…

Ich weiß natürlich, dass das auch Plugin abhängig ist, aber für den SW Core und die Standard-Plugins wäre das schonmal super!

Danke und viele Grüße
Stephan

 

 

 

Hallo zusammen,

auch hier besteht das Problem. Gibt es Neuigkeiten?

Hallo zusammen,

wir haben auch jetzt einen Proxy eingesetzt und stehen vor dem gleichen Problem.

Die Lösung von @andres‍ funktioniert irgendwie nicht.
Die Lösung von @brixlent‍ so halb.
Der Plugin Manager funktioniert und mir werden auch Updates angezeigt. Aber das z.B. eine neue Shopware Version vorhanden ist, wird widerum nicht angezeigt.
Auch die Shop News werden nicht angezeigt. (Keine verbindung zum Server)

Den Proxy für Zend habe ich in der „engine/Library/Zend/Http/Client/Adapter/Proxy.php“ eingetragen und wie es scheint, funktioniert das auch.