Образ докера jwilder / nginx-proxy позволяет добавить конфигурацию для каждого виртуального хоста, в которую можно добавить правила перезаписи, как описано в здесь :
Чтобы добавить настройки для каждого VIRTUAL_HOST, добавьте свой файл конфигурации в /etc/nginx/vhost.d
.Файл per-VIRTUAL_HOST должен быть назван точно в честь VIRTUAL_HOST
.
. Чтобы позволить виртуальным хостам динамически настраиваться при добавлении и удалении серверных частей, наиболее целесообразно подключить внешний каталог как /etc / nginx / vhost.d в отличие от использования производных образов или монтирования отдельных файлов конфигурации.
Например, если у вас есть виртуальный хост с именем www.app.example.com
, вы можете предоставить пользовательскую конфигурацию перезаписи для этого хоста какследует:
Под /etc/nginx/vhost.d
создайте файл с именем www.app.example.com
, затем добавьте следующее содержимое:
return 301 $scheme://app.example.com$request_uri;
Затем создайте новый контейнер nginx и смонтируйте в нем этот каталог.Если вы отметили /etc/nginx/conf.d/default.conf
, вы заметите, что виртуальный хост был изменен на что-то вроде этого:
server {
server_name www.app.example.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
include /etc/nginx/vhost.d/www.app.example.com;
location / {
proxy_pass http://www.app.example.com;
}
}
В строке включения содержится оператор return , который мы написали, и, конечно, выможете добавить к ней больше правил перезаписи