Мой вопрос похож на это: Маскировка домена / указание на каталог веб-приложения?.
Я просто хочу уточнить, есть ли другой подход? И какой из них лучше?
Я использую laravel, nginx, mongodb (и связываю для имитации конфигурации DNS).
Скажем, у меня есть веб-приложение на mydomain.com, где каждый пользователь может создать свою собственную страницу, получить поддомен и добавить к нему собственный домен.
например customdomain.me
отправлено mypage.domain.com
Этот процесс должен выполняться автоматически, когда пользователь отправляет новый пользовательский домен (пользователь может добавить более 1 пользовательского домена к 1 поддомену).
Что я сделал, так это установил подстановочный знак DNS для указания всех поддоменов на mydomain.com с помощью Bind и настройки файла nginx.conf, используя server_name _;
который поймает весь запрос. Затем я создаю скрипт в php, используя laravel, чтобы правильно открыть страницу для каждого поддоменов.
Теперь я хочу автоматизировать маскирование доменов, которое требуется только пользователю (после указания своего домена на мой IP-адрес), чтобы заполнить свой собственный домен и поддомен в форме.
Пока у меня есть 2 подхода:
Использование proxy_pass в nginx
server {
listen 80;
server_name customdomain.me;
location / {
proxy_pass http://rizky.domain.com;
proxy_set_header Host rizky.domain.com;
}
}
Я думаю, что в моем сценарии этот подход не годится, потому что мне нужно добавить новый блочный сервер для каждого настраиваемого домена (или, по крайней мере, для каждого пользователя) и перезагружать nginx при каждом изменении, что трудно сделать, если веб-приложение уже работает.
Полностью использовать скрипт для пересылки пользовательского домена на поддомен
При втором подходе я сохраняю пару пользовательский домен — поддомен в базе данных (mongodb), а затем использую маршрут laravel для пересылки пользовательского домена на поддомен и отображения правильной страницы.
Этот второй подход лучше, я думаю, но когда число пользователей растет, я не уверен, что этот подход все еще надежен
Я повторяю свою мысль: есть ли лучший подход для автоматической переадресации домена с маскированием для такого сценария?
Если мой вопрос не является хорошим или не по теме, я его удалю.
Благодарю.
Задача ещё не решена.
Других решений пока нет …