我开始研究现有的Angular JS应用程序,但是我无法让它在公司代理服务器之后工作。
在应用程序中,所有后端Web服务调用都使用Gruntfile.js中的代理配置重定向到不同的服务器(例如https://servicesURL/api/)。如果我在经过身份验证的公司代理服务器之外运行应用程序,这非常有效,但是在代理服务器后面,我看到所有Web服务调用都因错误而失败:
An error has occurred: {"code":"ENOTFOUND","errno":"ENOTFOUND","syscall":"getaddrinfo","hostname":"servicesURL","host":"servicesURL","port":443}
grunt文件代理配置如下:
connect: {
options: {
port: 9005,
hostname: 'localhost',
useAvailablePort: true,
livereload: 35712
},
proxies: [
{
context: ['/api'],
host: 'serviceURL',
port:443,
https: true,
xforward: true
}
],
livereload: {
options: {
middleware: function (connect) {
return [
connect.static('.tmp'),
connect().use(
'/bower_components',
connect.static('./bower_components')
),
connect.static(appConfig.app),
proxy
];
}
}
}
}