Субдомены localhost работают, но удаленный адрес не работает

Я настоящий нуб на Ubuntu, но мне пришлось установить его на VPS, чтобы отображать два разных сайта в качестве поддоменов. Один из них - веб-сайт Drupal 8, другой - статический html-сайт (index.html)

Я получил оба веб-сайта на / var / www и думаю, что все настроил правильно на apache2, потому что я добавил два субдомена в файл hosts для локального доступа и выполнения некоторых тестов, и они работают нормально.

Когда я печатаю old.myaddress.com или new.myaddress.com, они загружаются локально. Однако, если я попытаюсь получить доступ через Интернет или с другого компьютера, он всегда будет загружать только Drupal. Почему?

Стоит упомянуть, что я получил домен и настроил субдомены old.myaddress.com и new.myaddress.com для перенаправления на один и тот же IP (IP-адрес моего VPS-сервера). Насколько я понимаю, apache должен отправлять пользователя на разные сайты?

Это мои файлы .conf внутри etc/apache2/sites-available:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost.com
    ServerName www.myaddress.com
    ServerAlias old.myaddress.com
    DocumentRoot /var/www/oldwebsite/myaddress.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost.com
    ServerName www.myaddress.com
    ServerAlias new.myaddress.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Чтобы уточнить, я прошу где отсутствует конфигурация. Если загрузка сайтов локально работает, это все еще может быть apache? Это мой DNS? мой провайдер? Конфигурация Drupal? Я совершенно потерян.

2
задан 22 August 2019 в 19:33

3 ответа

По-видимому, я должен был установить корректный IPv4 и IPv6 к записи A и записать AAAA DNSs моих субдоменов.

Для поставщиков DNS как 1and1 (Ionos) при установке домена или субдомена, он предполагает, что он размещается в их местоположениях, и для привязки его с внешним хостингом, необходимо вручную отредактировать записи A и AAAA для указания на IP сервер.

0
ответ дан 2 December 2019 в 06:03

Могло потенциально быть столько проблем, таким образом, вот несколько вещей, которые можно попробовать:

  1. Файл hosts локально просто говорит Ваш ПК, какого дюйм/с слушать, который должен обычно быть всего 127.0.0.1. При создании пользовательских доменов локально, Вы добавили бы их к хостам, но использование ISP они будут управлять своим собственным файлом hosts. Если у Вас есть абсолютно специализированный VPS, затем просто делают точно, что Вы сделали локально.

  2. Чтобы домены были общедоступны в Интернете, не имеет значения, что Вы делаете в Apache, те домены должны быть зарегистрированы в доменном регистраторе, чтобы смочь направить и найти их. Таким образом, даже если Вы сделали все правильно, если Вы не добавили те субдомены к своей регистрации DNS затем, они не будут доступны в Интернете. Таким образом, если Вы владеете example.com и Вы зарегистрировали это в ISP, затем также удостоверьтесь, что зарегистрировались subdomain.example.com и subdomain2.example.com с тем ISP.

  3. Удостоверьтесь, что Ваша конфигурация Apache сама настроена то же, хосты могли бы быть отлично тем же, но Вы, возможно, забыли позволять, переписывают или некоторое другое разрешение, в этом случае, это могло бы просто полностью игнорировать Ваши .conf настройки файла. Если конфигурацией Apache управляет Ваш ISP, затем удостоверяются, что они даже позволяют Вам делать пользовательские хосты, которые не делает большинство ISPs, иначе необходимо было бы использовать .htaccess файлы для перезаписи на различные сайты внутренне, или необходимо будет управлять этим от консоли DNS.

  4. Удостоверьтесь, что Вы не забыли что-то глупое как создание символьных ссылок на поддерживающий сайты каталог, таким образом, те сайты на самом деле доступны, или перезапуск Вашего сервера Apache.

0
ответ дан 2 December 2019 в 06:03

Я предполагаю, что Ваш домен DNS правильно настроен и new.myaddress.com и old.myaddress.com правильно решите к своему IP сервера. Можно проверить что на другой машине с:

nslookup old.myaddress.com

Это нечетно, что Ваша конфигурация работает локально и не удаленно, если эти имена решают к тому же IP. A ping к каждому адресу заканчивается к тому же IP-адресу, чем nslookup отчеты?

Другая вещь, ServerName should't имеют то же значение для нескольких VirtualHost. Можно использовать любого ServerAlias Вы хотите, пока то же значение используется только однажды. Я удалил бы www.myaddress.com со старого веб-сайта конфигурация VirtualHost.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost.com
    ServerName old.myaddress.com
    DocumentRoot /var/www/oldwebsite/myaddress.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost.com
    ServerName www.myaddress.com
    ServerAlias new.myaddress.com
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
0
ответ дан 2 December 2019 в 06:03

Другие вопросы по тегам:

Похожие вопросы: