it-swarm.com.de

Verwenden von Wordpress mit Apache hinter einem Nginx-Reverse-Proxy

Ich hoffe, Sie können mir bei der Lösung meines Problems helfen.

Ich verwende ngninx auf einem dedizierten Server als Reverse-Proxy. Meine WordPress-Anwendung befindet sich auf einer anderen VM, auf der Apache2 als Websever ausgeführt wird. Alles funktioniert einwandfrei, bis ich "Permalinks" in WordPress verwende. Ich erhalte:

"Die angeforderte URL/contact-us/wurde auf diesem Server nicht gefunden."

Hier ist meine Konfiguration auf Nginx:

server {
        listen          443;
        ssl         on;
        server_name     foo.com;


        access_log  /var/log/nginx/foo.access.log;
        error_log   /var/log/nginx/foo.error.log;


        ssl_certificate           /etc/nginx/ssl-certificates/foo.de.crt;
        ssl_certificate_key       /etc/nginx/ssl-certificates/foo.de.key;


        ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        keepalive_timeout    60;
        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  10m;

        location / {
            proxy_pass  https://111.111.111.111;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_set_header        Host            $Host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }

}
server {
    listen      80;
    server_name     foo.com;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://$Host$request_uri? permanent;
}

Ich weiß nicht, warum ich keine Permalinks verwenden kann. Hat jemand das gleiche Problem?

Danke im Voraus!

3
allinformatix

Sie vermissen Ihre Wordpress-Umschreiberegeln.

Dies ist wahrscheinlich verwirrend, da Wordpresss in Apache die Umschreiberegeln in .htaccess automatisch generiert. In Nginx-Umgebungen ist dies nicht der Fall.

Achten Sie besonders auf die Wordpress-Dokumentation zu nginx und Konfigurationsanweisungen, die auf HTTP-Umschreiberegeln verweisen, auf die Anweisungen zum Segmentieren der Konfiguration und auf die speziellen Wordpress-Umschreiberegeln, die vorhanden sein müssen, damit hübsche Permalinks ordnungsgemäß funktionieren.

Ohne viel über Ihr Betriebssystem, Ihre Site/Ihr Netzwerk oder Ihre Einrichtung zu wissen, zögere ich, Code ohne Kontext zu kopieren und einzufügen. Dieser Abschnitt der Dokumentation ist ziemlich ausführlich und sollte das liefern, wonach Sie suchen.

1
Jon