5
server {
       listen   80;
       server_name my_site.ru;

       access_log /home/www/my_site/logs/nginx_access.log;
       error_log /home/www/my_site/logs/nginx_error.log;

       root /home/www/my_site;
       index index.html index.htm;

       location / {
           proxy_pass       http://some_another_site.ru/with_partnerId=32423;
           proxy_set_header Host      $host;
           proxy_set_header X-Real-IP $remote_addr;
        }
}

Хочу понять, почему выдает ошибку 400 - по идее он же должен тот сайт показывать?

Ks Ks
  • 79
  • 2
    А в proxy_pass разве может быть указан конкретный url, а не url-префикс? http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_pass http://nginx.org/ru/docs/example.html – Nelson Tatius Jul 15 '14 at 09:06

1 Answers1

1

ошибка появляется, скорее всего потому, что происходит не совсем то, что вы хотите: при запросе к, например, корню вашего сайта происходит пере-запрос по адресу http://some_another_site.ru/with_partnerId=32423.

предполагаю, что вам на самом деле требуется добавить к запросу параметр with_partnerId=32423.

как добавить параметр, написано, например, в этом ответе. в приложении к вашему вопросу location будет выглядеть примерно так:

   location / {
       set $args with_partnerId=32423&$args;
       proxy_pass       http://some_another_site.ru;
       proxy_set_header Host      $host;
       proxy_set_header X-Real-IP $remote_addr;
    }