Когда я использую обратный прокси-сервер 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);
}
);
}