location ^~ /externalapi/ {
proxy_pass http://api.external.com/;
}
Запросы можно кэшировать:
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=STATIC:64m inactive=60m max_size=128m;
proxy_cache STATIC;
proxy_cache_valid 200 204 302 1d;
Можно установить таймауты:
proxy_connect_timeout 5;
proxy_read_timeout 5;
proxy_send_timeout 5;
Если сторонний API устанавливает куки, своего клиента можно от них избавить:
proxy_hide_header Set-Cookie;
Можно установить свои заголовки:
proxy_set_header Referer http://mysite.ru/;
Если внешний API требует аутентификации, от своих клиентов ее лучше скрыть:
location ^~ /externalapi/ {
rewrite ^/externalapi/(.*) /api/$1/key/MWyH79LJER8FVAvpn7hu break;
proxy_pass http://api.external.com/;
}