#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 из Сингапура… кроме того, хранилище облачных сервисов-это еще один уровень абстракции, который никогда не раскрывает детали целевого местоположения хранилища…