Проблема с прокси в корпоративном прокси?
Моя система: git bash на Windows 7
// The actual grunt server settings
connect: {
options: {
port: 8000,
// Change this to '0.0.0.0' to access the server from outside.
hostname: 'localhost',
livereload: 35729
},
proxies: [
{
context: '/api',
host: 'dev-maps.company.it',
port: '80',
https: false,
changeOrigin: true,
rewrite: {
'^/api': '/api'
}
}
],
...
Приведенный выше фрагмент является частью моего файла grunt, который выполняется, когда я использую grunt serve
, Что он делает, чтобы прокси сервер API для dev-maps.company.it
который является внутренним хостом компании, который разрешается через наш DNS (и наверняка некоторые корпоративные прокси). Моя проблема в том, что я получаю ответ 404.
Теперь, когда я размещаю URL (dev-maps.company.it
) в моем браузере это правильно разрешает. Мой браузер использует файл "proxy.pac", который - если я не ошибаюсь - для этой конечной точки преобразуется в DIRECT (имеется в виду отсутствие прокси). Через grunt connect
однако, кажется, что он не может решить ее, и поэтому я подозреваю, что Grunt использует какой-то другой прокси.
Я проверил, что мой git bash не имеет никаких установленных переменных окружения прокси (таких как http_proxy или подобное). Кроме того, я попытался взломать быстрое приложение nodejs, которое использует http
пакет для выполнения GET dev-maps.company.it
и это работает:
app.get('/api/v1/contexts', function(req, response){
var prot = options.port == 443 ? https : http;
var req = prot.request(options, function(res) {
var output = '';
console.log(options.host + ':' + res.statusCode);
res.setEncoding('utf8');
res.on('data', function (chunk) {
output += chunk;
});
res.on('end', function() {
var obj = JSON.parse(output);
response.send(obj);
});
});
req.on('error', function(err) {
//res.send('error: ' + err.message);
});
req.end();
});
У кого-нибудь есть идея, где еще я мог бы искать???