如何使用proxy-config将角度2应用程序部署到HTTP服务器

时间:2018-01-07 07:18:35

标签: angular deployment angular5

我使用以下代理配置构建角度2应用程序。

proxy.conf.json

{ 
 "/": {
  "target": "http://localhost:6060",
  "secure": false,
  "changeOrigin": true,
  "logLevel": "debug" 
}}

我使用spring boot应用程序作为我的后端,它在端口6060上运行

我的包json的构建脚本如下

的package.json

"scripts": {
"ng": "ng",
"start": "ng serve --proxy-config proxy.conf.json",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
}

当我使用 npm start 时,应用程序正常运行。所有后端请求都会发送到 http://localhost:6060

然后我使用

构建生产版本
ng build --prod --proxy-config proxy.conf.json

并将生成的代码部署到HTTP服务器(apache服务器)。 然后我访问http://localhost/应用程序统计信息。但是当我尝试提出请求时,会指出http://localhost/ ...而不是http://localhost:6060

我试图找到一些解决方案,但不是那些工作。请给我一些帮助。

感谢

1 个答案:

答案 0 :(得分:3)

ng服务的--proxy-config参数仅适用于CLI内置的开发Web服务器。它对其他部署目标没有影响,对生产版本没有任何作用。

你说你使用apache,在这种情况下你应该使用ProxyPass指令设置Apache:Link to Apache mod_proxy documentation

通常用于编辑的Ubuntu Linux服务器:

/etc/apache2/sites-enabled/000-default

并插入以下指令:

ProxyPass /path/to/backend http://localhost:6060/

然后,Apache会将您要求的请求转发(代理)到http://localhost/path/to/backend http://localhost:6060