KolyaniuS
@KolyaniuS
безнадежный оптимист

Как в nginx проксировать get параметры?

Имеется следующая конфигурация 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-параметров?
  • Вопрос задан
  • 1356 просмотров
Решения вопроса 1
alekciy
@alekciy
Вёбных дел мастер
C proxy_pass они и так проксируются без потери как есть. И проблема явно в другом. Видимо реальный конфиг стоит упростить до действительно простого.

У самого в проекте идет проксирование API на сервер во внутренней сети. Все отлично работает. Даже есть изменение исходного урла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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