Проблема с расположением nginx и proxy_pass - PullRequest
0 голосов
/ 29 октября 2019

У меня в nginx.conf есть правило, которое не работает, и я понятия не имею, почему. По документации это должно работать. Часть конфигурации выглядит следующим образом.

Первое правило для порта 8100 работает и перенаправляет вызов http://example.com/api/domains на https://localhost:8181/oan/resources/domains

# Working
server {
    listen                  8100 default_server;
    server_name             example.com;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        Host      $http_host;
    root                    /var/www/html/example;

    location /api {
       proxy_pass https://localhost:8181/oan/resources; break;
    }

    # For ReactJS to handle routes
    location / {
       if (!-e $request_filename) {
          rewrite ^(.*)$ / break;
       }
    }
}

# Not working
server {
    listen                  8200;
    server_name             api.example.com;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        Host      $http_host;

    location / {
       proxy_pass https://localhost:8181/oan/resources; break;
    }
}

Последний вызов на порт 8200: http://api.example.com:8200/domains ДОЛЖЕН перенаправить на: https://localhost:8181/oan/resources/domains, но НЕ делает этого.

Что не так с этой конфигурацией и как можноЯ получаю последнее правило на порту 8200 делать правильные вещи, всегда перенаправить на https://localhost:8181/oan/resources/$uri

...