Обратный прокси Nginx не меняет хост - PullRequest
0 голосов
/ 21 декабря 2018

Когда я использую обратный прокси-сервер Nginx с моим приложением Angular, хост вообще не меняется.Он пытается вызвать путь, но с тем же URL (localhost).

В папке / etc / nginx / servers у меня есть myAppProxy.conf с конфигурацией, которую вы видите ниже.Очевидно, что в nginx.conf я включаю этот путь (включая серверы /*;).

Из angular я называю этот путь / ag-rcc-cardcontrols / controls, чтобы прокси-сервер nginx перенаправлял на https://whatever.com/ag-rcc-cardcontrols/controls. Тем не менее, я получаю сообщение об ошибке, где я вижу, что URl http://localhost/ag-rcc-cardcontrols/controls.

Итак, я думаю, обратный прокси не работает.

myAppProxy.conf

server {
  listen 80 default_server;

  root /Users/e1205577/Documents/Workspace/card-controls-rcc-screen/dist/card-controls-rcc-screen;
index index.html index.htm;

  location / {
     try_files $uri $uri/ /index.html;
  }

  location /ag-rcc-cardcontrols/ {
     # proxy_bind 127.0.0.1;
     proxy_pass https://whatever.com;
     proxy_pass_request_headers on;
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
     proxy_set_header Host $host;
     proxy_redirect off;
     proxy_buffering off;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Strict-Transport-Security "'max-age=31536000; includeSubDomains' always";
     proxy_set_header X-Frame-Options "SAMEORIGIN";
     proxy_set_header X-XSS-Protection "1; mode=block";
     proxy_set_header X-Content-Type-Options "nosniff";
     proxy_set_header Referrer-Policy "'strict-origin-when-cross-origin' always";
     proxy_set_header Cache-Control "'no-cache, no-store, must-revalidate' always";
     proxy_set_header Pragma "no-cache";
  }
}

Угловой код

handlePostRequest(url: string) {
  url = '/ag-rcc-cardcontrols/controls';

  const headers = new HttpHeaders({
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Client-id': 'client id',
    'Application-Id': 'app id',
  });

  return this.httpClient.post<Object>(url, '{"ignoreRecurring": true}', {'headers': headers}).subscribe(
    response => {
      console.log(response);
    },
    (error: HttpErrorResponse) => {
      console.log(error);
    }
  );
}
...