Поведаю вам как сделать автоматические субдомены для связки nginx-apache.
Имеем структуру папок такую
path/to/website/example.com
example.com/www //домен по умолчанию, обращение через example.com, www.example.com
example.com/subomain //subdomain.example.com
example.com/other-sub //other-sub.example.com
Конфиг NGinx:
server {
listen 80;
server_name example.com *.example.com;
set $subdomain "www";
if ($host ~* ^([a-z0-9-\.]+)\.example.com$) {
set $subdomain $1;
}
if ($host ~* ^www.example.com$) {
set $subdomain "www";
}
access_log /var/logs/nginxaccess_example.com.log main;
error_log /var/logs/nginxerror_example.com.log;
# Статическиое наполнение отдает сам nginx
# back-end этим заниматься не должен
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
root path/to/website/example.com/$subdomain;
}
# Перенаправление на back-end
location / {
root path/to/website/example.com/$subdomain;
proxy_pass http://127.0.0.1:8181;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
}
Apache Вариант #1 — Используем vhost_alias
Конфиг:
Большинство дистрибутивов linux и unix поставляются с большим разным количеством технологий которые повышают безопасность системы как в целом, так и в каких либо отдельных участках. Например в Убунте это AppArmor, в Федоре это SELinux и тд… Так же повышение безопасности системы повышается путем отключения лишних сервисов, закрытием портов и прочее… Но тем не менее, злоумышленники все-же могут найти способы обойти способы защиты. Строя chroot-окружение, мы так же создаем еще одну «ступеньку» защиты нашей операционной системы. Chroot — это изолированной окружение которое не имеет доступа к основной системе.