@Bleno

Как подключить домен пользователя к страницам сайта?

На сайте example.com пользователь может создать страницу page1.example.com.

Задача в том, чтобы он мог добавить свой собственный домен userdomain.com, который будет отображать страницу page1.example.com.

Я так понимаю надо поднимать свой dns сервер? Если да, то как и что делать?

P.S example.com находится под защитой cloudflare, а запросы проходят через nginx
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Hanneman
Чтобы "добавить" userdomain.com, тому пользователю надо купить этот домен и не у вас, а у регистратора. Потом приписать его к NS-серверу в вашей учётной записи (если аккаунт позволяет несколько доменов) и прописать alias/redirect.
Ответ написан
@Bleno Автор вопроса
Итак, решение (хоть и немного запоздавшее).

В nginx добавляем примерно такой блок server:
server {
                listen 80;
                server_name ~(^.*)$;#

                location / {
                        proxy_pass http://localhost:8080/domain?domain=$http_host&after=$uri$is_args$args;
                       
                }
        }


В блоке location соответственно пишем адрес локального веб сервера, в данном примере так же передаётся сам домен и запрошенный url. Дальше веб сервер должен по домену определить необходимый субдомен (в примере page1) и сделать запрос на page1.example.com и вернуть ответ пользователю, или (что гораздо лучше) просто перенаправить запрос на обрабатывающую функцию (ну или сделать тот же http запрос на локальный адрес).

Сам пользователь должен добавить к домену запись типа A на IP сервера (да, ip придётся раскрыть)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы