Имеется следующая конфигурация nginx (упрощенно):
# Frontend
server {
listen *:443 ssl http2;
server_name example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_redirect off;
proxy_read_timeout 60s;
root /var/www/front;
location /api {
proxy_pass http://127.0.0.1:8888;
}
location / {
if (!-e $request_filename{
rewrite ^(.*)$ /index.html;
}
index index.html;
}
}
# Backend
server {
listen 127.0.0.1:8888;
root /var/www/api;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
location ~ \.php$ {
fastcgi_pass backend:9000;
fastcgi_index index.php;
fastcgi_cache fcgi;
fastcgi_cache_valid 200 30m;
include fastcgi_params;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
}
}
все POST-запросы пришедшие на
https://example.com/api/... проксируются на backend и далее обрабатываются fastcgi
Как настроить nginx таким образом, чтобы GET-запросы, такие как
https://example.com/api/example_uri?key1=value1&ke...
проксировались на бэкенд без потери GET-параметров?