我目前有一个简单的角度应用程序配置了约曼,而我正在尝试的唯一定制是与咕噜-连接-代理。于是我按照指令修改了我的Gruntfile:
var proxySnippet = require('grunt-connect-proxy/lib/utils').proxyRequest;
module.exports = function (grunt) {
...
grunt.initConfig({
...
connect: {
...
server: {
proxies: [
{
context: '/api',
host: 'somevirtualhost',
port: 8080,
https: false,
changeOrigin: true
}
]
},
livereload: {
options: {
open: true,
middleware: function (connect) {
return [
proxySnippet,
...
];
}
}
},
...
},
});
...
grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
...
grunt.task.run([
...
'configureProxies:server',
...
]);
});
}在一个控制器中,我尝试了以下几点:
var Versions = $resource('/api/version/:versId', { versId: '@id' });
var version = Versions.get({ versId: 'Ultra' }, function () {
console.log('here I am');
});当我运行咕噜服务时,我可以看到代理是创建的:
Running "configureProxies:server" (configureProxies) task
Proxy created for: /api to somevirtualhost:8080但是在网页的控制台里我得到了:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:9000/api/version/Ultra 知道吗?
发布于 2015-01-25 17:33:28
我在这里发现了一些线索:https://github.com/drewzboto/grunt-connect-proxy/issues/69,我不是什么都懂,但现在我在代理中添加了headers选项:
proxies: [
{
context: '/api',
host: 'somevirtualhost',
port: 8080,
https: false,
changeOrigin: true,
headers: {
'host': 'somevirtualhost'
},
}
]而且看起来很管用
https://stackoverflow.com/questions/28137901
复制相似问题