it-swarm.com.de

Gemischter Inhalt - SSL-Problem oder OpenCart?

Diese Frage bezieht sich auf: Duplizierter Inhalt www auf Subdomain und SSL

Mein tatsächlicher HTACCESS:

RewriteBase /

# this redirects example.com and www.example.com to https - thanks closetnoc @webmasters-stackexange
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_Host} ^loja\.genesiseries\.com$ [NC,OR]
RewriteCond %{HTTP_Host} ^www\.loja\.genesiseries\.com$ [NC]
RewriteRule ^(.*)$ https://loja.genesiseries.com/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_Host} ^www\.loja\.genesiseries\.com$ [NC]
RewriteRule ^(.*)$ https://loja.genesiseries.com/$1 [R=301,L]

#Now start the normal rules
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^route=common/home$
RewriteRule ^index\.php$ https://loja.genesiseries.com? [R=301,L]
# Tentativa de prevenir erro headers sent
#RewriteCond %{HTTP_Host} !^loja\.genesiseries\.com
#RewriteRule ^(.*)$ http://loja.genesiseries.com/$1 [R=301,L]

Bei Verwendung dieser Regeln erhalte ich die folgenden Fehlermeldungen: Original Screenshot

Gemischter Inhalt: Die Seite bei 'https://example.com/admin' wurde über HTTPS geladen, forderte jedoch ein unsicheres Skript 'http://example.com/admin/.../script.js' an. Diese Anfrage wurde blockiert. Der Inhalt muss über HTTPS bereitgestellt werden.
:
:
usw.

Problem mit OpenCart-Konfiguration oder SSL-Regeln?

4
Isleno Ituriel

Ich habe diesen Link gefunden, der auf einige Konfigurationsänderungen hinweist: http://www.inmotionhosting.com/support/edu/opencart/setting-up-payment-gateways/how-to-enable-ssl-connection-in -opencart

Darin sehen Sie einige Änderungen an config.php.

Original:

define('HTTPS_SERVER', 'http://opencart.inmotiontesting.com/');
define('HTTPS_IMAGE', 'http://opencart.inmotiontesting.com/image/');

define('HTTPS_SERVER', 'http://opencart.inmotiontesting.com/admin/');
define('HTTPS_CATALOG', 'http://opencart.inmotiontesting.com/');
define('HTTPS_IMAGE', 'http://opencart.inmotiontesting.com/image/');

Neu:

define('HTTPS_SERVER', 'https://opencart.inmotiontesting.com/');
define('HTTPS_IMAGE', 'https://opencart.inmotiontesting.com/image/');

define('HTTPS_SERVER', 'https://opencart.inmotiontesting.com/admin/');
define('HTTPS_CATALOG', 'https://opencart.inmotiontesting.com/');
define('HTTPS_IMAGE', 'https://opencart.inmotiontesting.com/image/');

Sie werden feststellen, dass sich nur HTTP in HTTPS ändert. Ich habe eine andere Website überprüft und sie stimmt mit den Einstellungen überein.

2
closetnoc

Mir ist klar, dass diese Frage gelöst ist, aber um Ihnen zu antworten: Die OpenCart-Seite. Hier einige Tipps für den Fall, dass jemand anders auf so etwas stößt, wenn er versucht, überall auf SSL umzusteigen:

- Wie bereits erwähnt, stellen Sie sicher, dass sowohl config.php als auch admin/config.php auf http- und https-Varianten verweisen. Stellen Sie außerdem sicher, dass alle Mods, die eine kopierte Konfiguration verwenden (a la vTiger Sync), die richtigen aktualisierten URLs haben. Denken Sie daran, dass in OC immer mindestens 2 Konfigurationen aktualisiert werden müssen.

- Eine Warnung zu htaccess forced 301: Stellen Sie sicher, dass Ihr Theme, Module oder vQmods keine strengen http: // Assets aufrufen. Dies ist ein häufiger Fehler in OC, insbesondere bei Themen oder schlecht gestalteten Mods, die das Rad neu erfinden und ihre eigenen JS/Schriftarten aufrufen. Wenn Sie strenge Assets finden, ändern Sie diese in relative URLs (//) in den Quellen. Dies ist die bevorzugte Methode zum Reparieren der unsicheren Elemente. Htaccess kann das Problem nur umgehen oder maskieren nd funktioniert nicht mit HSTS nach dem Zugriff auf die erste Seite (da es sich um clientseitige 307 & Blöcke handelt). Höchstwahrscheinlich möchten Sie HSTS verwenden, es ist ein großartiger Header ... aber Ihre oben genannten unsicheren Elemente würden immer noch nicht funktionieren.

- Sie sollten den Dateimanager so reparieren, dass beim Anhängen von Medien native relative URLs (//) verwendet werden. Dies würde unsichere Gegenstände in Zukunft verhindern. Das Update geht über den Rahmen dieser Beschreibung hinaus, umfasst jedoch das Bearbeiten von admin/controller/common/filemanager.php und das Ersetzen von $this->data['directory'] = HTTP_CATALOG . 'image/data/'; durch etwas wie $this->data['directory'] = str_replace('http:', '', HTTP_CATALOG) . 'image/data/'; (oder sein HTTPS_-Gegenstück).

- Wenn Sie immer den HTTPS-Modus verwenden, ist es ratsam, den system/library/url.php so zu ändern, dass er strenge HTTPS-Self-Gen-Assets (wie Bilder, Menüs, Links, Skripte usw.) enthält. Es ist eine sehr einfache Lösung (1.5.5 bis 1.5.6.4), springen Sie einfach in diese Datei und suchen Sie $url = $this->url; und ändern Sie sie in $url = $this->ssl;. Das magische Asset Fix.

- Ein anderer Weg: Es gibt einen "SSL everywhere Manager" für OpenCart, der bei diesem und anderen Aufgaben hilft, ohne dass ein Zugriff oder eine manuelle Codierung erforderlich ist. Hat 301, HSTS 307, Vorspannung, Vermögenswerte, Verwandte, Proxies, etc.

Es gibt noch mehr Dinge, aber dieses Zeug scheint das zu sein, auf das Menschen mit SSL am häufigsten stoßen, immer in OpenCart. Hoffe das hilft den Menschen in Zukunft!

1
dhaupin