2

У меня есть простой httpd.conf, который работает

<VirtualHost *>
    AddDefaultCharset UTF-8

    DocumentRoot "/opt/rt4/share/html"
    <Location />
        Order allow,deny
        Allow from all

        SetHandler modperl
        PerlResponseHandler Plack::Handler::Apache2
        PerlSetVar psgi_app /opt/rt4/sbin/rt-server
    </Location>
    <Perl>
        use Plack::Handler::Apache2;
        Plack::Handler::Apache2->preload("/opt/rt4/sbin/rt-server");
    </Perl>
</VirtualHost>

Когда я подключаюсь к MyDomain.dynamicDNSServer.TLD, я загружаю свой RT просто отлично.

Но так как я хочу, чтобы это было RT.MyDomain.dynamicDNSServer.TLD, я установил это точно так же, за исключением того, что я делаю это

<VirtualHost rt.MyDomain.dynamicDNSServer.TLD>

и теперь, когда я перезагружаю Apache2, он говорит: «Нет имени, связанного с именем хоста: не удалось разрешить имя хоста rt.MyDomain.dynamicDNSServer.ДВУ - игнорирование!"

Как бы я это сделал? Я не могу назначить ему статический IP-адрес в хостах, поскольку он будет меняться всякий раз, когда мой маршрутизатор захватывает новый IP-адрес.

1 ответ1

2

Прежде всего, убедитесь, что у вас есть конкретная запись dyndns поддомена или запись dyndns с подстановочными знаками для вашего ip. Это означает, что помимо MyDomain.dynamicDNSServer.TLD также либо *.MyDomain.dynamicDNSServer.TLD или хотя бы rt.MyDomain.dynamicDNSServer.TLD должен разрешить ваш динамический IP. Если у вас нет ни одного из них, вы не можете использовать специфичную для субдомена конфигурацию apache.

В apache поддомены определяются ServerName и не используют директиву <VirtualHost> (дополнительную информацию см. В документации ).

Следующее должно работать для вашего субдомена:

<VirtualHost *>
    ServerName rt.MyDomain.dynamicDNSServer.TLD
    AddDefaultCharset UTF-8
    DocumentRoot "/opt/rt4/share/html"
    ...
</VirtualHost>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .