Nginx с WordPress, использовать обратный прокси в качестве запасного - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь настроить nginx, чтобы попробовать файлы в следующем порядке:

1) Проверьте, существует ли файл непосредственно на сервере. 2) Проверьте, существует ли файл как часть WordPress. 3) Откат на внешний сервер, если ниСуществует 1 или 2.

У меня есть следующие настройки:

location / {
    try_files $uri $uri/ /index.php?q=$uri&$args @proxy;
}

location @proxy {
    proxy_pass      https://external.website.com;
}

Это не работает для WordPress, и документация по nginx try_files довольно бесполезна.Я вижу, что последний аргумент arg является резервным, поэтому я попытался перевернуть последние два аргумента, и это заставило работать wordpress, но затем обратный прокси не сработал.

1 Ответ

0 голосов
/ 20 мая 2019

Я думаю, что решил это. Технически это сначала проверяет прокси, но это нормально для того, что я хочу сделать. Если кто-нибудь решит правильный путь, я выберу их.

    location / {
        try_files $uri $uri/ @proxy;
    }

    location @proxy {
        proxy_pass      https://external.website.com;
        proxy_intercept_errors on;
        recursive_error_pages on;
        error_page 404 = @wordpress;
    }

    location @wordpress{
        try_files $uri /index.php?q=$uri&$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
...