Support » Installation » Immigration von Apache auf nginx

  • Ich habe von Apache auf Nginx immigriert nun stellt die Seite keine Farben mehr dar. Theme habe ich schon gewechselt. Kein Erfolg.

    Hat jemand eine Ahnung woran das liegen könnte?

    • Dieses Thema wurde geändert vor 2 Jahren, 1 Monat von morta1985.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Hallo,
    wenn du bei Chrome oder Firefox in die developer console schaust (F12), dann siehst du eine Menge Fehler. Diese Fehler hängen damit zusammen, dass Inhalte (Grafiken, etc.) nicht per https, sondern per http ausgeliefert werden.
    Welche Fehler das sind, lässt sich z. B. über die folgende Seite zusätzlich ermitteln.

    Mixed Content kann mit dem Plugin „Better Search and Replace“ korrigiert werden. Einträge in der Datenbank http://example.com werden dann ersetzt durch https://example.com (example.com musst du natürlich durch deine domain ersetzen). Vorher bitte eine Sicherung erstellen.

    Viele Grüße
    Hans-Gerd

    Thread-Starter morta1985

    (@morta1985)

    Das Problem ist das ich einen haproxy davor habe und es dann Umleitungsfehler gibt, wenn ich https eintrage. Wie kann ich trotz https dann auf das wp-admin zugreifen?

    Du kannst in der Konfigurationsdatei wp-config.php oberhalb von /* That's all, stop editing! Happy blogging. */ folgende Zeile eintragen:

    define( 'RELOCATE', true );

    Damit solltest du dich dann (sinngemäß, natürlich mit deiner Domain) auch per https://example.com/wp-login.php anmelden können.
    Für einen Wechsel auf https reicht es nicht, in Einstellungen > Allgemein die Website- und WordPress-URL umzustellen, weil WordPress unter anderem auch Medien mit absoluten URLs in der Datenbank einträgt und dabei auch serialisierte Daten verwendet, die sich nicht einfach per Suchen/Ersetzen austauschen lassen. Deshalb solltest du nach der Anmeldung das von Hans-Gerd bereits genannte Plugin Better Search Replace zur Ersetzung verwenden.

    Thread-Starter morta1985

    (@morta1985)

    Der Webserver läuft ohne SSL und auf Port 80 erst der haproxy wandelt den Traffic von http zu https. Spielt das eine Rolle?

    Die Seite war im Vorhinein auch bei Apache SSL.

    Im Moment sind Website- und WordPress-URL auf http gesetzt, was zu „gemischten Inhalten“ führt, die im Browser aus Sicherheitsgründen nicht angezeigt werden. Mit einer Umstellung der Adressen auf https sollte die Website wieder funktionieren. Eine Umstellung ist wie beschrieben entweder über die Konstante RELOCATE möglich (die Zeile solltest du dann nach erfolgter Umstellung wieder löschen) oder direkt in der Datenbanktabelle wp_options durch Änderung der Felder siteurl und home.

    Thread-Starter morta1985

    (@morta1985)

    Also habe die Seite wieder umgestellt auf https://joelmueller.ch

    Leider ist immer noch nicht gut.

    Jetzt kann ich wieder nicht mehr auf https://joelmueller.ch/wp-admin zugreifen wegen Umleitungsfehler.

    Fehler: Umleitungsfehler

    Wie behebe ich den Umleitungsfehler von wp-admin?
    Und wie bringe ich die „Farben“ zurück?

    upstream php {
           server unix:/run/php-fpm/php-fpm.sock;
    }
    
    server {
        listen 80 proxy_protocol;
        listen [::]:80 proxy_protocol;    
        server_name  joelmueller.ch www.joelmueller.ch; 
        root /usr/share/webapps/blog;
        index index.php;
        
        location = /favicon.ico {
                   log_not_found off;
                   access_log off;
           }
    
           location = /robots.txt {
                   allow all;
                   log_not_found off;
                   access_log off;
           }
    
           location / {
                   # This is cool because no php is touched for static content.
                   # include the "?$args" part so non-default permalinks doesn't break when using query string
                   try_files $uri $uri/ /index.php?$args;
           }
    
           location ~ \.php$ {
                   #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                   include fastcgi_params;
                   fastcgi_intercept_errors on;
                   fastcgi_pass php;
                   #The following parameter can be also included in fastcgi_params file
                   fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
           }
    
           location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                   expires max;
                   log_not_found off;
           }
    }
    

    So sieht mein vhost aus

    • Diese Antwort wurde geändert vor 2 Jahren, 1 Monat von morta1985.

    Nur mal zur Info: das hier ist ein Forum für WordPress-Anwender und kein Nginx-, Apache- oder Server-Forum, in denen du mit diesem Problem besser aufgehoben wärst.

    Thread-Starter morta1985

    (@morta1985)

    Ok die Umleitung hat aber mit WordPress zutun.

    Weil es unter http läuft die Weiterleitung und ist somit von WordPress und nicht von nginx

    • Diese Antwort wurde geändert vor 2 Jahren, 1 Monat von morta1985.
    Moderator Michi91

    (@michi91)

    So funktioniert das nicht…

    Der nginx muss auch auf https lauschen oder du musst ssl explizit in WordPress deaktivieren… WordPress führt Aufrufe auf sich selbst aus und wird dabei sehr wahrscheinlich nicht über den ha proxy gehen, sondern direkt über den nginx.

    Lief vor der Umstellung auch schon der haproxy? Ich würde erstmal versuchen alles sauber über http an laufen zu bekommen.

    Hier hatten wir schonmal den Fall. Dort gab es auch extern https und intern
    http.https://de.wordpress.org/support/topic/wordpress-unvollstaendig-hinter-haproxy/

    Thread-Starter morta1985

    (@morta1985)

    Danke für den Link.

    Ich habe siteurl und home auf http://joelmueller.ch gesetzt und use_ssl auf NULL aber kein Effekt

    Moderator Michi91

    (@michi91)

    Den ha proxy auch auf http setzen. Wenn das sauber klappt,also deine Seite unter http richtig läuft, kannst du dein Glück mit ssl versuchen:

    Ha proxy, site url und home auf https umstellen. Ausserdem im nginx die Seite auch über ssl erreichbar machen. Use ssl auf Null stellen (hast du ja schon gemacht)

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Das Thema „Immigration von Apache auf nginx“ ist für neue Antworten geschlossen.