Я новичок в Angular и Docker.Я пытаюсь развернуть приложение angular 6 на Nginx в Docker-контейнере.Мое угловое приложение будет вызывать веб-сервисы с токеном авторизации.Он отлично работает в моей среде разработки с --proxy-config, но не работает в контейнере Docker.Я попытался перехватить HTTP-запрос и обновить URL-адрес веб-службы, но он не отправляет заголовки авторизации.Как мне вызывать веб-сервисы с пользовательскими заголовками?
environment.ts
export const environment = {
production: false,
calculateServiceAPIURL: 'http://localhost:8762'
};
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs';
import { environment } from './../environments/environment';
@Injectable({
providedIn: 'root'
})
export class TokeninceptorService implements HttpInterceptor {
constructor() { }
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log(req.headers);
req = req.clone({
url: environment.calculateServiceAPIURL + req.url,
setHeaders: {
'Content-Type': 'application/json',
Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJtYWxhdi5wYXJpa2hAeWFob28uY29tIiwidXNlciI6IntcImlkXCI6MSxcImVtYWlsXCI6XCJtYWxhdi5wYXJpa2hAeWFob28uY29tXCIs'
}
});
return next.handle(req);
}
}
Сообщение об ошибке: Доступ к XMLHttpRequest по адресу http://localhost:8762/binaryTree/calculateSum' from origin 'http://localhost:4200' заблокирован политикой CORS: Ответ на предполётный запрос не проходит проверку контроля доступа: у него нет статуса HTTP ok.
Заголовки запросов и ответов
Сервер не получает заголовок авторизации, из-за которого он отвечаетс 401 статусом несанкционированного ответа.