Konfigurieren Sie die Datei local.xml für eine sichere Verbindung mit einem externen MySQL?

7

Ich habe mich gefragt, wie man die local.xmlDatei so einstellen könnte (wenn es überhaupt möglich ist), damit eine Magento-Installation über eine sichere Verbindung eine Verbindung zu einem MySQL-Server herstellt.

Ich habe derzeit meinen Webserver und meinen MySQL-Server auf verschiedenen Computern (in der Amazon Web Services-Cloud) gehostet und wollte daher sicherstellen, dass Magento über eine sichere Verbindung mit der Datenbank kommuniziert.

Leider kann ich bisher keine praktikablen Antworten darauf finden, und wenn man bedenkt, wie wichtig Sicherheit für E-Commerce-Websites ist, würde ich denken, dass diese Art von Konfiguration sofort in Magento verfügbar ist.

Ich weiß über die Befehlszeile, dass Sie eine sichere MySQL-Verbindung zu Amazon mit der folgenden Beispielanweisung aufrufen können:

mysql -h myinstance.amazonaws.com --ssl_ca=rds-ssl-ca-cert.pem --ssl-verify-server-cert

Wo rds-ssl-ca-cert.pemist ein Verweis auf den öffentlichen Schlüssel.

Ich denke, ich dachte, Magento muss mit der local.xmlDatei einen ähnlichen Anruf tätigen , und es sollte eine Möglichkeit geben, die sichere Verbindung auf ähnliche Weise aufzurufen.

Nullflügel
quelle

Antworten:

6

Ja, das kannst du doch,

Bearbeiten Sie einfach die folgenden Einträge Ihrer magentoroot / app / etc / local.xml-Datei wie folgt:

<connection>
    <host><![CDATA[myinstance.amazonaws.com:3306]]></host>
    <username><![CDATA[yourDBusername]]></username>
    <password><![CDATA[yourDBpassword]]></password>
    <dbname><![CDATA[yourDBname]]></dbname>
    <initStatements><![CDATA[SET NAMES utf8]]></initStatements>
    <model><![CDATA[mysql4]]></model>
    <type><![CDATA[pdo_mysql]]></type>
    <pdoType><![CDATA[]]></pdoType>
    <active>1</active>
</connection>

Vergessen Sie nicht die Portnummer nach dem Hostnamen.

Und ja, vergessen Sie nicht, die eingehende Regel der Sicherheitsgruppe zu ändern, die an Ihre RDS-Instanz angehängt ist. Aktivieren Sie den Datenverkehr von der IP Ihres lokalen Servers.

Yugesh M Kumar YO
quelle
Hallo und vielen Dank für die Antwort. Ich habe sie gelesen, war mir aber nicht sicher, wie sie sich von einer normalen unsicheren Verbindung zu einer externen mySQL-Datenbank unterscheidet. Der einzige Unterschied zu dem, was ich hatte, war der Port: 3306, aber von dem, was ich sehe, ist das ein normaler TCP / UDP-Port für mySQL, stimmt das? Ich frage mich nur, ob es sicher ist.
Zero Wing
perfekte Antwort!!! +1 :)
SagarPPanchal
Dies löst nicht das Problem, dass Magento1.x mit einem Zertifikat keine Verbindung zu einer entfernten MySQL-Datenbank herstellen kann.
CarComp
3

Es gibt keine Möglichkeit, dies so zu tun, wie Sie es möchten. Ich schlage vor, dass Sie diese Antwort überprüfen . Sie scheint ähnlich zu sein und es gibt einige Methoden, um es zumindest zu versuchen.

mbalparda
quelle
Kein eingebauter Weg ...
CarComp