我在MEAN应用中一起设置nginx和angular时遇到问题。
我的应用程序是容器化的,在这里我有一个nginx容器,Angular容器,express容器等。
当前,我在我的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,并且由于我在不同的容器中运行它们,因此我认为这不是可能吗?
任何有关我如何进行此工作的帮助将不胜感激。谢谢