
В настоящее время я создаю веб-приложение и хотел бы, чтобы у моих пользователей были собственные URL-адреса для их идентификации. Я мог бы сделать это либо с помощью поддоменов, либо с помощью папок, и мне интересно, каковы преимущества и недостатки каждого из них.
Мне очень нравится решение с папками, потому что мое сопоставление URL было бы довольно простым. Я читал об автоматической генерации поддоменов, и одним из решений было создание виртуальных хостов и последующий перезапуск моего nginx. Это решение, но я бы предпочел не перезапускать мой веб-сервер каждый раз, когда создается новая учетная запись. Если есть какие-либо другие способы автоматического создания поддоменов, это тоже было бы здорово!
Спасибо!
решение1
Многое из этого субъективно, но я бы рекомендовал поддомены из-за проблем с безопасностью — скомпрометированному скрипту проще перечислить родительский каталог (и, следовательно, всех клиентов), чем определить все поддомены. С поддоменами проще переместить корни документов позже, если это понадобится, и проще переместить их на другой сервер полностью (что, если вы станете настолько большими, что не сможете обрабатывать их все на одном сервере?)
Если у вас есть делегирование поддоменов, вы можете добавить разные записи MX для каждого поддомена, и вы, вероятно, сможете заставить работать оба метода с помощью некоторых удобных правил перезаписи.
Что касается конфигурации сервера без перезапуска, см.эта ссылка
решение2
Одним из недостатков использования поддоменов является то, что если вы хотите использовать https, вам понадобится wildcard-сертификат.
решение3
Самый простой способ использовать поддомены — использовать веб-сервер, который позволяет использовать подстановочные виртуальные хосты или виртуальные хосты «по умолчанию». Таким образом, вам не придется «добавлять» виртуальные хосты. Как создать подстановочные домены с помощью nginxобъясняется в его документации.