Программно редактировать файл хоста Unix - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я использую файл хоста для перенаправления всего трафика на определенный внешний хост на мою машину, чтобы мое (nodejs) приложение могло его перехватить.

/etc/hosts: 

127.0.0.1 externalhost.com

Мое приложение получает весь трафик, который должен перейти на externalhost.com, а затем решает, следует ли

a) перенаправить запрос на исходный ресурс (например, запрос на externalhost.com/target_B)

b) перехватить запрос и отправить обратно пользовательский ответ (например, запрос на externalhost.com/target_A)

Однако исходный ресурс - это хост, который я определил в своем файле хоста, что создает бесконечный цикл.

Есть ли способ программно отключить перенаправление хоста? Я не хочу писать в этот файл каждый раз по соображениям производительности.

1 Ответ

0 голосов
/ 09 ноября 2018

Я думаю, что решением в этом случае будет попытка обойти файл /etc/hosts при перенаправлении запроса из вашего кода.

Можно попытаться использовать встроенный модуль dns для разрешения IP-адреса внешнего хоста, а затем использовать IP-адрес в запросе вместо имени хоста.

dns.resolve4('externalhost.com', function (err, res) {
  var ip = res[0];
  console.log('IP address of externalhost: ' + res[0])
  request(ip + "/target_A")
})
...