У меня проблемы с настройкой nginx и angular вместе в моем MEAN-приложении.
Мое приложение упаковано в контейнер, где у меня есть контейнер nginx, угловой контейнер, экспресс-контейнер и т. Д.
В настоящее время у меня есть местоположение в моем файле development.conf для каждого возможного углового маршрута, однако теперь я добавляю запросы в свои URL-адреса, и поэтому я хочу, чтобы каждый сделанный запрос обрабатывался моим угловым маршрутизатором напрямую.
Ниже приведены некоторые фрагменты кода, которые у меня есть, которые могут помочь понять, что я делаю.
Мой угловой маршрутизатор
const routes: Routes = [
{ path: 'x/:field', component: XComponent },
{ path: 'y/:field', component: YComponent },
{ path: '', component: LandingPageComponent },
];
@NgModule({
imports: [
RouterModule.forRoot(
routes,
),
],
exports: [RouterModule],
})
export class AppRoutingModule {}
Nginx Dockerfile
FROM nginx:1.13.8-alpine
COPY development.conf /etc/nginx/conf.d/default.conf
Nginxфайл development.conf
upstream angular_domain {
server angular:4200;
}
server {
listen 80;
location / {
proxy_pass http://angular_domain/;
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;
}
}
Я пробовал разные стратегии, однако в большинстве примеров, которые я нашел, nginx использует раздел try_files, чтобы попытаться найти index.html, и, поскольку я запускаю их вразные контейнеры, я не верю, что это возможно?
Буду признателен за любую помощь в том, как я получу эту работу.Спасибо