У меня есть одна капля Digital Ocean с 5 веб-сайтами, размещенными на ней через виртуальный хост. Все нормально работает. Их доменные имена указывают на каждого в отдельности. Используя Ubuntu 14.04 и Apache.
Я хочу добавить шестой «тестовый» сайт без указывающего на него доменного имени. Я хочу использовать его для тестирования некоторых вещей WordPress. Физическое расположение домашней страницы этого сайта:
/var/www/test_site/html/index.html
Скажем, IP-адрес моего сервера 198.51.100.55
Что мне нужно сделать, чтобы сделать эту домашнюю страницу доступной для всех в Интернете следующим образом?
http://198.51.100.55/test_site/html/index.html
Поместите следующие перед другие определения виртуального хоста в вашем файле конфигурации.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.fakesite.com
DocumentRoot /var/www/test_site/html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Затем перезагрузите Apache.
Резюме: вы не можете заставить его работать для всех, если не используете доменное имя. Но если вы просто лечите 198.51.100.55
как если бы это было еще одно доменное имя, оно будет работать для большинства пользователей - по крайней мере, в настоящее время.
Я рекомендую создать домен для вашего тестового сайта. Возможные варианты: приобретение нового домена, использование субдомена одного из ваших существующих доменов, использование бесплатного субдомена от одного из различных поставщиков таких доменов.
URL http://198.51.100.55/test_site/html/index.html
никогда не будет доступен для всего Интернета.
Развертываются новые сети без IPv4. Чтобы позволить клиентам в таких сетях получить доступ только к ресурсам IPv4, используются такие методы, как DNS64 и NAT64. Если имя вашего сервера было test.example.com
поток подключения для такого клиента может работать следующим образом:
test.example.com
example.com
для записи AAAA для test.example.com
example.com
за рекорд А для test.example.com
198.51.100.55
2001:db8:c481:4960:88df:da01::/96
и адрес IPv4. Результат 2001:db8:c481:4960:88df:da01:198.51.100.55
AKA 2001:db8:c481:4960:88df:da01:c633:6437
.test.example.com
является 2001:db8:c481:4960:88df:da01:c633:6437
.2001:db8:c481:4960:88df:da01:c633:6437
.Но как только вы пытаетесь сделать это с IP-адресом, а не с доменным именем, все выходит из строя. Браузер никогда не будет отправлять запросы DNS, поэтому он никогда не узнает, что 198.51.100.55
заменяется на 2001:db8:c481:4960:88df:da01:c633:6437
. Вместо этого браузер попытается подключиться к 198.51.100.55
, но у хоста нет маршрута IPv4, поэтому ядро сообщит браузеру, что сервер недоступен.
Единственный способ сделать сайт доступным для пользователей в такой сети (не нарушая ничего другого) - это иметь доменное имя для вашего сайта.
Если вас устраивает то, что ваш сайт доступен только для большой части Интернета (которая со временем будет уменьшаться), вы можете просто лечить 198.51.100.55
в качестве еще одного доменного имени и соответствующим образом настройте виртуальный хост.
Это выглядело бы примерно так:
<VirtualHost 198.51.100.55:80>
ServerName 198.51.100.55
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>