I have a single Digital Ocean droplet with 5 websites hosted on it via virtualhost. Everything works fine. Their domain names point to each one individually. Using Ubuntu 14.04 and Apache.
I want to add a sixth "test" site, without a domain name pointing to it. I want to use it to test out some WordPress stuff. The physical location of the home page to this site is:
/var/www/test_site/html/index.html
Let's say my server's IP address is 198.51.100.55
What do I need to do to make this home page available to anyone on the internet as follows?
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
запись A для 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, поэтому ядро сообщит браузеру, что сервер недоступен.
Единственный способ сделать сайт доступным для пользователей в такой сети (без нарушения чего-либо еще) является наличие доменного имени для вашего сайта.
Если вас устраивает то, что ваш сайт доступен только для большой части Интернета (которая будет становиться все меньше time), то вы можете просто рассматривать 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>