Как разместить поддомен CloudFlare DNS на другом IP-адресе

Я использую CloudFlare для DNS и Digital Ocean для серверов.

Назовем мой сайт "example.com". Он работает нормально.

Теперь я создал второй сервер, у которого другой IP. Я хочу, чтобы новый поддомен «staging.example.com» указывал на этот второй IP.

В CloudFlare я попытался создать вторую запись «A». Вот экспорт моих настроек (частично отредактирован, а также изменен, чтобы использовать пример доменного имени):

;; A Records
example.com.    1   IN  A   192.■■■.135.106
staging.example.com.    1   IN  A   157.■■■.174.87

Переход на example.com все еще работает.

Однако переход на staging.example.com приводит к появлению сообщения «Ошибка 522 Connection» истекло время ".

Что я делаю не так? Как сделать так, чтобы субдомен указывал на IP-адрес, отличный от его родительского домена?

P.S. Я подумал , что, возможно, проблема была в моей конфигурации Nginx, но теперь я сомневаюсь, что это проблема, потому что я смог временно изменить ее на example2.com вместо staging.example.com, а затем временно изменить CloudFlare DNS этого другого домена, которым я владею (example2.com), и он загрузился нормально.


PPS Теперь для целей отладки моя конфигурация Nginx говорит:

server_name staging.example.com example2.com;

И я оставил запись субдомена «A» в CloudFlare DNS как «Только DNS» (серое облако).

Затем в моем CloudFlare DNS для example2.com (другой домен, которым я владею) я временно указал на 157. ■■■ .174.87.

И просмотр staging.example.com приводит к следующему: «Этот сайт может Ответить на staging.example.com не удалось. ERR_CONNECTION_TIMED_OUT ».

Но просмотр example2.com работает.

Это наводит меня на мысль, что конфигурация Nginx в порядке. Правильно? Так что же не так?

0
задан 3 November 2019 в 18:59
2 ответа

Я думаю, что первая проблема заключалась в том, что мои правила страниц перенаправляли http на https, и я временно закомментировал части SSL в конфигурации Nginx.

После раскомментирования частей SSL, теперь при переходе на https://staging.example.com/ получается:

400 неверный запрос

Требуемый сертификат SSL не был отправлен

, что является отдельной проблемой, которую я теперь иди решай.

0
ответ дан 5 December 2019 в 00:09

You можно использовать следующий скрипт для создания поддомена на вашем сервере

#!/bin/bash
echo "Enter Subdomain You want to add (Eg:blog)"
read subdomain
echo "Enter your domain name (Eg:example.com)"
read domain
sudo chmod -R 755 /etc/apache2/
cd /etc/apache2/sites-available/
cat <<EOF >$subdomain.$domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/$subdomain
    ServerAlias  $subdomain.$domain
    ServerName $subdomain.$domain

    <Directory /var/www/$subdomain>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
# remove following four lines if http authentication not required or not set up#
        AuthType Basic 
        AuthName "Restricted Content"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    </Directory>

 </VirtualHost>
EOF
mkdir /var/www/html/$subdomain
echo " Add your files to /var/www/html/$subdomain "
echo "enabling subdomain................"
sudo a2ensite $subdomain.$domain
echo "Reloading apache2 ................"
sudo service apache2 reload
0
ответ дан 6 July 2020 в 20:55

Теги

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