Вопрос или проблема
Перенаправление трафика с домена AWS на домен, хостингующийся на Wix
У меня есть домен, размещенный на AWS (www.example.com
), и он работает нормально. Сейчас у меня есть временная необходимость перенаправить трафик с этого домена на временный домен, хостящийся на Wix (www.example.net
). Я попытался создать CNAME, чтобы просто перенаправить с www.example.com
на www.example.net
(см. прикрепленный файл), но это, похоже, не работает. Он либо загружает оригинальную веб-страницу (когда я исключаю “www”), либо показывает общую страницу с ошибкой Wix “Похоже, этот домен еще не подключен к веб-сайту!”, хотя новый веб-сайт загружается нормально, когда я ввожу новый домен.
Что я попробовал (я использую nodeJS с express).
Я открыл свой app.js на своем сервере node и изменил код на следующий:
var app = express();
app.get('*', (req, res) => {
// ПЕРЕНАПРАВЛЕНИЕ здесь
res.redirect('https://www.example.net/')
})
module.exports = app;
Когда я запускаю сервер локально (localhost:5000), перенаправление, похоже, работает нормально, но когда я переношу код на сервер и ввожу домен (www.example.com), он по-прежнему указывает на оригинальный веб-сайт.
Нет способа заставить один домен перенаправляться на другой, используя только DNS. CNAME не является перенаправлением. Его реализация не приведет к изменению URL. Это просто заставит домен разрешаться на тот же IP-адрес, что и другой домен. См. Перенаправляет ли указание URL через CNAME на другой домен через конечную точку?
Когда у вас есть CNAME, указывающий на другой домен, Wix будет получать запросы для обоих доменов. Он автоматически не узнает, как обрабатывать ваш старый домен. Вам нужно будет сообщить Wix, что делать. У Wix есть инструкции по настройке домена для перенаправления: Настройка 301 перенаправления с одного домена на другой | Центр помощи | Wix.com
В качестве альтернативы вы можете реализовать перенаправление с вашим текущим хостингом на AWS. Существует множество способов размещения на AWS, и вы не указываете, какой именно используете, поэтому трудно дать точные инструкции.
Вы также можете указать домен на какого-то третьего лица для выполнения перенаправления. Мне нравится использовать Cloudflare для перенаправления доменных имен, потому что они делают это бесплатно, и они автоматически обрабатывают SSL-сертификаты, так что HTTPS для перенаправления работает. Недостаток в том, что это сложнее настроить, чем другие решения. Я написал полные инструкции по настройке перенаправлений доменов Cloudflare.
Ответ заключался в балансировщиках нагрузки. Я могу перенаправлять через скрипт expressJS в своем файле app.js, а затем направлять весь трафик через балансировщики нагрузки AWS на порт 5000, где слушает сервер express.
Ответ или решение
Чтобы перенаправить трафик с домена, хостингованного на AWS (например, www.example.com), на временно хостингованный сайт на Wix (например, www.example.net), необходимо учитывать несколько моментов, так как DNS-конфигурация не осуществляет редиректы сама по себе. Давайте обсудим несколько вариантов решения этой задачи.
1. Использование AWS Elastic Load Balancer
Если у вас есть ваш сервер, работающий с Express.js, вы можете использовать AWS Elastic Load Balancer (ELB) для перенаправления трафика. Вот общий порядок действий:
-
Создайте Elastic Load Balancer:
- Войдите в AWS Management Console.
- Перейдите в раздел EC2, затем выберите "Load Balancers".
- Создайте новый Load Balancer, выбрав тип Application Load Balancer.
- Настройте балансировщик нагрузки так, чтобы он принимал входящий трафик на порт 80 и перенаправлял его на ваш сервер с приложением Express.js, работающим на порту 5000.
-
Настройте маршрутизацию:
В вашем приложении Express.js добавьте код для перенаправления запросов на новый домен:const express = require('express'); const app = express(); // Перенаправление всех запросов app.get('*', (req, res) => { res.redirect(301, 'https://www.example.net' + req.originalUrl); }); app.listen(5000, () => { console.log('Сервер запущен на порту 5000'); });
- Измените настройки DNS:
Убедитесь, что ваш домен www.example.com указывает на ваш Elastic Load Balancer.
2. Использование Cloudflare
Если вы хотите избежать настройки Load Balancer, вы можете использовать Cloudflare для перенаправления вашего домена:
- Создайте учетную запись Cloudflare и добавьте домен.
-
Настройте DNS:
Включите проксирование для вашего домена. Это позволит Cloudflare управлять DNS-запросами. - Добавьте правило перенаправления:
Используйте функцию "Page Rules" в Cloudflare для создания правила перенаправления. Укажите:- URL:
www.example.com/*
- Действие: "Forwarding URL" с кодом 301.
- Целевой URL:
https://www.example.net/$1
- URL:
3. Настройка на стороне Wix
Если вы хотите, чтобы Wix перенаправлял трафик с вашего домена на их платформе, вам может потребоваться:
- Добавить домен в настройки Wix.
- Настроить переадресацию на Wix согласно их инструкциям. Обычно это делается через их интерфейс управления доменами, где нужно указать, что ваш домен www.example.com будет перенаправлен на www.example.net.
Заключение
Выбор способа перенаправления зависит от вашей архитектуры и предпочтений. Если у вас уже есть сервер на AWS, использование Elastic Load Balancer является надежным решением. Если нет, Cloudflare предлагает простое и эффективное решение. В любом случае, просто установка CNAME не решит вашу задачу, так как это не выполняет перенаправление URL.