Задать вопрос
@akellaweb

Проксирование payload — как передать тело запроса post?

Коллеги,
как можно проксировать запросы post на бэк?

Есть следующий конфиг:
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location /api/ {
        proxy_pass         http://host.docker.internal:8000$uri;
        proxy_pass_request_headers      on;
        proxy_set_header   Locale  ru;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header          X-Real-IP       $remote_addr;
        proxy_set_header          Host            $host;
        proxy_redirect off;
    }

    location / {
        root   /usr/share/nginx/html;
        index  index.html;

        open_file_cache_errors off;

        #try_files $uri @proxy;
        error_page 404 = /backend$uri;

        # proxy_pass http://host.docker.internal:8000$request_uri;
    }

    location /backend/ {
        proxy_pass         http://host.docker.internal:8000/;
        proxy_pass_request_headers      on;
        proxy_set_header   Locale  ru;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header          X-Real-IP       $remote_addr;
        proxy_set_header          Host            $host;
        proxy_redirect off;
        proxy_set_header X-Nginx-Proxy true;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}


С формы отправляю данные на endpoint /api/v1/*,
в Network данные видны, но по факту тело прилетает пустым...
  • Вопрос задан
  • 245 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Nginx по умолчанию проксирует (почти) все заголовки и тело запроса без изменений. Конфиг выглядит нормально. Ищите причину в другом месте.

З.Ы. директива proxy_pass_request_headers on; довольно бессмысленна, оно и так включено по умолчанию.
Ответ написан
Ваш ответ на вопрос

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

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