У меня есть виртуальный сервер (общий хостинг) с доменным именем (и несколькими суб-учетными записями, каждая из которых является отдельным сайтом, также с собственным доменным именем)
Мне было интересно, есть ли способ узнать IP-адрес доменного имени. Пробовал пинговать, но кубиков нет. Он просто дает мне IP-адрес физический сервер на котором размещается мой виртуальный, или, по крайней мере, это то, что я предполагаю, поскольку он дает мне один и тот же IP-адрес для каждого моего доменного имени.
Извините, хотя я не новичок в технологиях, я не знаком с этим серверным материалом.
Виртуальный сервер и общий хостинг - это разные вещи, хотя это не влияет на мой ответ.
На одном сервере (физическом или виртуальном, неважно) можно размещать веб-сайты для разных доменов.
Каждое доменное имя будет преобразовываться в тот же IP-адрес, что и у рассматриваемого сервера.
Таким образом, www.example.com преобразуется в 198.51.100.21, но то же самое и с www.example.org. Оба они размещены на одном сервере.
Поэтому, когда вы ping www.example.com и www.example.org вы получаете одинаковый ответ, именно так и должно быть, если они размещены на одном сервере.
Примечание: даже если два домена разрешаются на разные IP-адреса, они потенциально могут быть размещены на одном сервере, поскольку один сервер может поддерживать несколько IP-адресов.
Вы можете найти IP-адреса имен серверов / полных доменных имен / веб-сайтов, используя такие инструменты, как dig
или nslookup
. Например,
nslookup www.google.com
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 74.125.113.103
Name: www.l.google.com
Address: 74.125.113.104
Name: www.l.google.com
Address: 74.125.113.105
Name: www.l.google.com
Address: 74.125.113.106
Name: www.l.google.com
Address: 74.125.113.147
Name: www.l.google.com
Address: 74.125.113.99
Когда на веб-серверах размещается несколько сайтов (или доменов), серверу необходимо знать, к какому домену вы пытаетесь перейти (имя), а IP-адреса недостаточно. Вот почему,
http://198.51.100.21/something
обычно невозможно с серверами, на которых размещено несколько доменов (особенно это касается провайдеров веб-хостинга).
Есть много других причин, по которым использование IP-адреса также нежелательно.
Мне нравится думать об этом как о почтовых адресах. Недостаточно знать чей-то почтовый адрес (например, IP-адрес сервера), вы также должны знать его имя (например, домен веб-сайта) и написать это в письме. Если вы этого не сделаете, вы просто знаете, что их мама (то есть веб-сайт по умолчанию) собирается открыть его и прочитать.
Похоже, что на сервере, на котором размещены ваши домены, все размещенные домены имеют один и тот же IP-адрес, и это общедоступный IP-адрес сервера. Чтобы направить трафик к нужным файлам для определенного домена, хост использует виртуальный хостинг на основе имен. Если вы попытаетесь получить доступ к любому из доменов с помощью IP-адреса, вы, скорее всего, просто получите страницу по умолчанию с хоста.
dig domain.com
предоставит вам IP-адрес, на который указывает ваш домен (или nslookup, если вы в Windows)
Вы уверены, что "физический хост", на котором вы размещаете, в любом случае не является вашим IP-адресом vps? звучит так, как будто ваш провайдер может использовать какой-то изворотливый NAT, если ваш веб-сайт указывает IP-адрес на физическом хосте, а не на вашей виртуальной машине
Самый простой способ узнать это - войти в свой vps через ssh и запустить
ifconfig
это скажет вам IP вашего сервера