Http response 401, обращающийся к службе за nginx обратным прокси - PullRequest
0 голосов
/ 19 марта 2020

У меня есть приложение с загрузочной пружиной, на котором размещены остальные службы, которые находятся за Nginx обратным прокси-сервером. Конфигурация Nginx позволяет принимать запросы на http://mynginx/proxy/ и прозрачно передавать их на http://host/service/. Целевая служба защищена и требует токен Oauth в заголовке авторизации. Когда я вызываю службу напрямую, используя GET http://host/service, она работает, как и ожидалось. То же самое с другим назначением GET http://mynginx/proxy дает 401 несанкционированный ответ HTTP. В конечном итоге я хочу заблокировать свое приложение, чтобы оно не было общедоступным, поэтому я не хочу показывать целевой сервис напрямую. Что мне нужно сделать, чтобы авторизация работала через Nginx?

Вот моя Nginx конфигурация для этого вызова службы

        location /proxy/ {
          proxy_pass http://host/service/;
          proxy_redirect     off;
          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_http_version 1.1;
          proxy_set_header   Upgrade $http_upgrade;
          proxy_set_header   Connection "upgrade";  
          proxy_set_header   Authorization $http_authorization;
          proxy_pass_header  Authorization;   
        }
...