170 похожих чатов

Всем привет, подскажите как делать такую штуку в автоматическом режиме:

у юзера есть некая страница типа интернет-магазина, и нужно сделать опцию чтобы он мог сам в настройках прикрутить свой домен к ней, т.е. чтобы при открытии "myusersite.com" открывалась страница "mysite.com/shop/72194", где 72194 - айди юзера например. При этом чтобы не происходил редирект, а именно домен оставался тот же.

Сейчас сделали такое для некоторых клиентов вручную, они в настройках DNS записей ставят наш сервер, а мы в nginx добавляем еще один виртуальный сайт. Но хотелось бы это сделать в автоматическом режиме, чтобы тупо юзер изменил DNS записи своего домена, на нашем сайте указал его домен, нажал "Подключить" и готово. Неужели это делаеться путем написания скрипта который изменяет конфиг nginx?

22 ответов

35 просмотров

проксей, наверное, лучше всего такое реализовать взять ноду/го и проксировать

а нужно для этого отдельный сервак брать с другим айпи или можно это все дело провернуть на одном айпи, там же где и висит продакшн?

по хостнейму определять домен на сервере и отдавать нужный? с ssl ток проблема будет

ssl можна по идеи через lets encrypt брать, правда тоже надо как-то скриптом его автоматизировать

отдельный лучше у тебя отдельный процесс будет терминировать все подключения

и он типа будет проксить на прод сервер запросы?

там дело в том чтобы он был динамическим) возможно это и nginx может, но придётся скриптик для генерации пописать

а в чём проблема возникла просто на ноде проверять хост запроса?

так как то не нравиться мне это на ноду сваливать у меня нода чисто апишку представляет, статику раздает nginx разве что имееться ввиду написать отдельную проксю на ноде

да по сути можно и отдельную, единственное что задержка вырастит из-за прокси.

а нода норм здесь в качестве прокси потягается с тем же nginx?

докер и как запускать такие контейнеры - это задача не из разработки, а из девопса и кодогенерации (UPD: скорее конфига генерации). Отдавать статитку нодой такое себе, да даже на голанге, такое себе. Самый простой способ, написать скрипт для сервера, который будет генерировать новый конфиг для nginx и получать на домен ssl, создаст папку и подтянет их хранилища нужный код. Минус, это костыль. Плюс, делается быстро и относительно без проблемно. Вариант цивильнее, делать это через генерацию конфига для докера и поднятие всего этого дела в докере, минусы сложно и остаются костыли. Вариант три, правильный. Отдельные физические сервера или облако, много работы девопса и разворачивание из нужного образа системы, докера и т.д., с уже сгенерированным заранее кодом. Самый простой это автоматически через хуки генерить конфиг для nginx.

спасибо, проблема что девопса нету пока что, и приложение вне докера щас работает, ради одной этой фичи не хочеться все переделывать

только не понял насчет 3 варианта, зачем пилить отдельные машины?

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

затем что ты не сможешь поднять вируталку, в другой вируталке? с ограничением ресурсов или я чего-то не знаю?

разве это практика такая? это же дорого будет обходиться для компании, не? суть же что это saas сервис, там вот эти страницы магаизнов почти везде одинаковые, отличается только контент который и так фронт грузит по апи, это не отдельные инстансы каких-то образов или еще чего то

если вам нужно только отдавать статику, и ту не всю, и только присобачить домен к апи, то ваш путь написать для nginx модуль или просто генератор конфига и все, который все домены указанные для него будет слать туда куда нужно. это делается обычным bash скиптом.

для

да, можете просто посмотреть код опенсурсного аналога isp manager и т.д. как это реализована у них, если найдете. В вашем случае суть одна, сбилдить готовый конфиг подставив в него нужные значения, и рестартнуть nginx. Правда неплохо было бы написать линтнер проверяющий на ошибки, но и только.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта