Nano Hash - криптовалюты, майнинг, программирование

Мой поддомен продолжает перенаправлять на мой основной домен

Я уверен, что это, должно быть, уже спрашивали несколько раз, я исследовал это около дня, но все еще не мог понять.

У меня есть домен - domain.com, и теперь я хочу добавить к нему субдомен - test.domain.com. Я создал файл виртуального хоста и DNS-запись A — test.domain.com, указывающую на IP-адрес моего сервера. Но затем всякий раз, когда я пытаюсь получить доступ к моему test.domain.com, он продолжает перенаправлять на domain.com. Мои файлы виртуального хоста Apache2 настроены следующим образом

domain.com.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/domain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =www.domain.com [OR]
        RewriteCond %{SERVER_NAME} =domain.com
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<Directory "/var/www/domain.com">
    AllowOverride All
</Directory>

домен.com-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/domain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined


ServerName domain.com
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.domain.com
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem

</VirtualHost>
</IfModule>

test.domain.com.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/test.domain.com

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =www.test.domain.com [OR]
        RewriteCond %{SERVER_NAME} =test.domain.com
        RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<Directory "/var/www/test.domain.com">
    AllowOverride All
</Directory>

Я включил файлы conf с помощью команды a2ensite и перезапустил apache (и отчаянно мой серверный дроплет) уже несколько раз, но все еще не мог заставить его работать. Я работаю на Ubuntu 16.04.6.

Любые советы будут высоко оценены. Заранее большое спасибо!


Ответы:


1

Минималистичный пример будет примерно таким:

<VirtualHost *:80>
    DocumentRoot /var/www/test.example.com
    ServerName test.example.com
    ServerAlias www.test.example.com
</VirtualHost>

В этом примере вы объявляете виртуальный хост для test.example.com, а также www.test.example.com.

Обратите внимание, что здесь я использую example.com вместо domain.com из-за ограничения публикации действуют на этом веб-сайте.

Директивы RewriteRule в вашем поддомене кажутся неправильными, по крайней мере, синтаксически. Они могут быть причиной проблемы перенаправления. Поэтому я бы удалил их и позаботился о редиректах позже. Начните с простой конфигурации, подтвердите ее и добавьте дополнительные правила позже.

Подсказка: вы можете использовать curl (из командной строки на вашем сервере, если она недоступна на вашем ПК) для проверки следующим образом:curl -L --head "http://example.com". Проверьте основное доменное имя, затем поддомен в http и https. В Curl есть возможность игнорировать ошибки SSL/TLS, если вы столкнетесь с ними.

Посмотрите, что происходит, и обратите внимание на редиректы, если они есть (код состояния 301/302).

Я предпочитаю использовать Curl для тестирования, потому что кеш браузера может сыграть с вами злую шутку.

22.02.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..