У меня проблемы с созданием режима обслуживания в приложении Angular5-NodeJS Express.
У меня есть страница входа в систему, и мне нужно поймать 503. Если у меня есть 503, я устанавливаю страницу обслуживания. Ошибка 503 генерируется конфигурацией сервера Nginx, но моя сеть получает две ошибки. Сначала 504, а после 503. И я не могу получить ошибку 503.
Я пробовал чистую конфигурацию nginx с возвратом 503 при определенных условиях (и я получил его, но только по типу FETCH от NGINX). Я пробовал handleError (error) {console.log (error)} на Angular, и я получил только первую ошибку 504. Мой метод входа на authService - это обещание (для вашей информации).
Я попытался с помощью nginx использовать add_header 'Access-Control-Allow-Origin' *; без успеха.
Angular 5 (auth.service.ts)
private handleError(error: any): void {
const forbiddenStatus = [401, 403];
const message = this.helperService.getErrorMessage(error);
if (error.status === 503) {
this.router.navigate(['/maintenance']);
}
if (forbiddenStatus.includes(+error.status)) {
this.logout();
} else if (error.status === 400) {
console.log('ERROR : ', error);
}
}
This is for the handleError code. I can catch 400 error and i have what i want. But that all.
And for nginx :
NGINX
location / {
....................
}
if (-f "home/sites/server/maintenance_on") {
set $maintenance "1";
}
if ($request_method = "OPTIONS") {
set $maintenance "${maintenance}1";
return 200;
}
if ($maintenance ~* "1") {
'Access-Control-Allow-Origin' *;
return 503;
}
}
Мне просто нужно получить ошибку 503 ТОО. Не только 504. Если у вас есть идеи ... спасибо за все!