Переписать URL в контейнере Docker jwilder / nginx-proxy - PullRequest
0 голосов
/ 12 марта 2019

Я создаю контейнеры на некоторых сайтах. Я хотел бы иметь возможность перенести некоторые правила перезаписи для автоматического добавления или удаления www из имени домена в запросе.

Как / Где в jwilder/nginx-proxy Docker-контейнере nginx.tmpl или иначе можно добавить несколько простых правил перезаписи?

Одно правило для всех прокси-контейнеров в порядке, хотя было бы неплохо, если бы правила могли быть указаны для каждого контейнера.

1 Ответ

1 голос
/ 13 марта 2019

Образ докера 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 , который мы написали, и, конечно, выможете добавить к ней больше правил перезаписи

...