Как подключить домен пользователя к страницам сайта?
Чтобы "добавить" userdomain.com, тому пользователю надо купить этот домен и не у вас, а у регистратора. Потом приписать его к NS-серверу в вашей учётной записи (если аккаунт позволяет несколько доменов) и прописать alias/redirect.
Итак, решение (хоть и немного запоздавшее).

В 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 придётся раскрыть)