Мне было поручено оптимизировать веб-сервис, который предоставляет фотографии для каждого клиента.Таким образом, клиент А может использовать customerA.domain.com и получать его собственные изображения на гладкой странице.В настоящее время каждый поддомен имеет корни в каждом собственном веб-корне (с соответствующим index.php и т. Д.).Теперь я должен объединить эти веб-сайты таким образом, чтобы использовался только один веб-корень, причем субдомен является решающим фактором, для которого следует использовать набор фотографий (организованных в пронумерованных папках).Это сделано для того, чтобы поддерживать расширяемость и изменчивость веб-сайта.
Чтобы это работало, я подумал о следующих условиях, которые необходимо выполнить:
- Nginx необходимо перенаправить ограниченный набор поддоменов на один и тот же веб-корень
- В зависимости от субдомена, веб-страница (PHP) должна знать заранее определенный идентификатор, необходимый для операций с базой данных, специфичных для клиента (субдомен)и нахождение правильного каталога изображений.
Частичные (возможные?) решения, которые я придумал:
- Сохранение субдомена в клиентетаблицу в БД, проанализируйте поддомен из заголовка HTTP и получите идентификатор из БД
- Настройте Nginx для добавления правильного идентификатора к URL (в качестве параметра GET)
Пример одного клиента конфиг nginx, довольно по умолчанию.
server {
listen 80; ## listen for ipv4; this line is default and implied
listen 443; ## listen for ipv4; this line is default and implied
ssl on;
ssl_certificate /mnt/www-cluster22/scripts/cert/2018/thedomain.crt;
ssl_certificate_key /mnt/www-cluster22/scripts/cert/2018/privatekey.key;
root /mnt/www-cluster22/foto_cms/32;
index index.php index.html index.htm;
server_name customerA.thedomain.com;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
access_log /var/log/nginx/customerA.access.log;
error_log /var/log/nginx/customerA.error.log;
}
Как бы я изменил конфигурацию nginx для добавления GET-параметра со статическим идентификатором, если это возможно?Как направить все указанные субдомены в один и тот же веб-корень?
Теперь вполне возможно, что я просто сделал неправильные поисковые запросы, поскольку не нашел решений (ни Google, ни SO) для своего вопроса,и я не могу себе представить, что у меня первая такая проблема.
Спасибо за вашу помощь.