Получите IP-адрес источника домена, когда он использует CDN

#c# #.net-core #dns #cdn

Вопрос:

У меня есть проект, который собирает информацию о сервере для указанных доменов. Важно, чтобы я получал подробную информацию о сервере исходного хоста. Я использую следующее, чтобы получить IP-адрес:

 IPHostEntry hostInfo = Dns.GetHostEntry(domain);
 

а затем все остальное, что я могу получить с этого IP-адреса. Проблема, с которой я сталкиваюсь, заключается в том, что, хотя это нормально работает для домена, который не использует CDN, все, что делает, возвращает не IP-адрес исходного сервера, а IP-адрес ближайшего пограничного сервера. Что я могу использовать вместо этого, чтобы убедиться, что я всегда получаю исходный сервер?

Комментарии:

1. CDN возвращает данные, хранящиеся в некотором хранилище, и использует кэш и граничные расположения, чтобы быстрее возвращать их… Хранилище может быть облачным хранилищем… Вам нужен IP-адрес для точного сервера, на котором хранятся данные?

2. Да, мне нужен IP-адрес исходного сервера, с которого все пограничные/кэш-серверы CDN будут получать данные.

3. Я верю, что это невозможно… зачем вам нужно знать IP-адрес исходного сервера?

4. Я выполняю анализ, который зависит от его географического местоположения

5. как вы упомянули, IP-адреса CDN находятся в ближайшем пограничном местоположении… так что это даст вам более точную информацию о географическом местоположении.. исходный сервер может быть расположен в любом месте… например.. Хранилище AWS может быть расположено в Восточном регионе США, но доступ к CDN из Сингапура даст вам ближайший IP-адрес CDN из Сингапура… кроме того, хранилище облачных сервисов-это еще один уровень абстракции, который никогда не раскрывает детали целевого местоположения хранилища…