Да, есть проблемы безопасности и другие проблемы.Лучше иметь один виртуальный хост на сайт с отдельной регистрацией и отдельными сертификатами SSL и т. Д.
Если это разные сайты, лучше их разделить, потому что:
- Проще установитьфайл журнала для каждого из них
- Проще настроить SSL-сертификаты для HTTPS, если они используют разные домены.
- Помните, что пользователи могут легко изменять заголовок $ host, поэтому, если когда-нибудь вы создадите каталог:
/var/www/site1.domain.com-backup
или /var/www/secret-logs
к ним можно получить доступ. - Мониторинг по сайту.
- Если когда-нибудь вам понадобится специальная конфигурация для какого-либо сайта, установите базовую аутентификацию, измените некоторые параметры и т. Д.может с разными виртуалками.Смешать их было бы сложно и грязно.
Лучше их автоматически сгенерировать.Вы можете использовать множество шаблонных инструментов от простого bash-скрипта, который принимает некоторые параметры envvars, до более сложных инструментов, таких как SaltStack / Ansible.
Вот простой bash-скрипт для этого, он должен быть адаптирован к вашим потребностям:
#!/bin/bash
cat << EOF > /etc/nginx/sites-available/$SERVER_NAME.conf
server {
listen 80;
server_name $SERVER_NAME $ADDITIONAL_SERVER_NAMES;
access_log /var/log/nginx/$SERVER_NAME-access.log;
error_log /var/log/nginx/$SEVER_NAME-error.log;
location / {
root /var/www/$SERVER_NAME;
}
}
EOF
# Enable config on nginx
ln -s /etc/nginx/sites-available/$SERVER_NAME.conf /etc/nginx/sites-enabled
# Test configration and apply if no errors
nginx -t && service nginx reload
Чтобы выполнить скрипт, назовите его nginx-site-generator
, дайте разрешения на выполнение и:
SERVER_NAME=site1.com ADDITIONAL_SERVER_NAMES=www.site1.com ./nginx-site-generator