Как направить запросы на урл апи на другой upstream?

Имеется следующая настройка сайта на nginx, необходимо перенаправялять все запросы с example.com/api/ на сервера api_backend, а все остальные запросы - на site_backend. Не могу понять, где допустил ошибку.
location ~ /api {
	rewrite ^/(.*)$ /index.php?/$1 last;

	location ~ \.php$ {
		try_files      $fastcgi_script_name =404;
		fastcgi_pass api_backend;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $request_filename;
	}
}

location / {
	rewrite ^/(.*)$ /index.php?/$1 last;

	location ~ \.php$ {
		try_files      $fastcgi_script_name =404;
		fastcgi_pass site_backend;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $request_filename;
	}
}
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
upstream api_backend {
    server blablabla;
}

upstream site_backend {
    server lalala;
}

server {
    listen 80;

    server_name example.com;

    location /api/ {
      proxy_pass http://api_backend/;
    }

    location / {
      proxy_pass http://site_backend/;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы