Исходный код вики Nginx proxy
Версия 1.9 от Alexandr Fokin на 2024/11/23 17:22
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | |(% style="width:81px" %) |(% style="width:1369px" %)Данные контейнеры позволяют сравнительно легко организовать проксирование запросов по доменам, расположенном на одном хосте. | ||
| 2 | |(% style="width:81px" %) |(% style="width:1369px" %)((( | ||
| 3 | |(% style="width:282px" %)jwilder / nginx-proxy|(% style="width:1068px" %)((( | ||
| 4 | |Контейнер с конфигурацией, позволяющий автоматически обнаруживать контейнеры (используется маркировка) и конфигурировать [[HTTP>>doc:Сети.Протоколы.HTTP 1\.1.WebHome]] reverse proxy. | ||
| 5 | Выступает в роли общей точки входа (порты 80 и 443), направляет запрос в контейнер обработчик. | ||
| 6 | Для маршрутизации (и сопоставления) используются домены (предполагает наличие [[DNS>>doc:Сети.Механизмы.DNS.WebHome]] и доменного имени). | ||
| 7 | В контейнере сервисе необходимо указать домен и порт, он должен иметь общую сеть с proxy. | ||
| 8 | |VIRTUAL_HOST=<домен> | ||
| 9 | VIRTUAL_PORT=<порт> | ||
| 10 | ))) | ||
| 11 | |(% style="width:282px" %)jrcs / letsencrypt-nginx-proxy-companion|(% style="width:1068px" %)((( | ||
| 12 | |Контейнер, автоматизирующий процесс подключения [[SSL>>doc:Сети.Протоколы.SSL.WebHome]] сертификата для использования протокола HTTPS. | ||
| 13 | Работа вместе с nginx-proxy. | ||
| 14 | Для работы также добавляется еще один маркер, в котором также указан домен. | ||
| 15 | |LETSENCRYPT_HOST=<домен> | ||
| 16 | ))) | ||
| 17 | ))) | ||
| 18 | |(% style="width:81px" %) |(% style="width:1369px" %)((( | ||
| 19 | |Использование Docker для настройки обратного прокси Nginx с автоматической генерацией SSL | ||
| 20 | [[https:~~/~~/andreyex.ru/linux/ispolzovanie-docker-dlya-nastrojki-obratnogo-proksi-nginx-s-avtomaticheskoj-generatsiej-ssl/>>https://andreyex.ru/linux/ispolzovanie-docker-dlya-nastrojki-obratnogo-proksi-nginx-s-avtomaticheskoj-generatsiej-ssl/]] | ||
| 21 | |Using Docker to Set up Nginx Reverse Proxy With Auto SSL Generation | ||
| 22 | [[https:~~/~~/roman-academy.medium.com/using-docker-to-set-up-nginx-reverse-proxy-with-auto-ssl-generation-3a8a360b69ae>>https://roman-academy.medium.com/using-docker-to-set-up-nginx-reverse-proxy-with-auto-ssl-generation-3a8a360b69ae]] | ||
| 23 | |How to bring up a reverse proxy using the jwilder/nginx-proxy | ||
| 24 | [[https:~~/~~/docs.exalate.com/docs/scripts-how-to-bring-up-a-reverse-proxy-using-the-jwildernginx-proxy>>https://docs.exalate.com/docs/scripts-how-to-bring-up-a-reverse-proxy-using-the-jwildernginx-proxy]] | ||
| 25 | ))) | ||
| 26 | |(% style="width:81px" %) |(% style="width:1369px" %)((( | ||
| 27 | |(% style="width:723px" %)((( | ||
| 28 | (% style="width:100%" %) | ||
| 29 | |(% style="width:440px" %)Точка входа - http порты.|(% style="width:264px" %)80, 443 | ||
| 30 | |(% style="width:440px" %)Общая сеть, к которой подключаются контейнеры сервисы.|(% style="width:264px" %)proxyNet | ||
| 31 | |(% style="width:440px" %)Для persist состояния необходимо определить общие volume.|(% style="width:264px" %) | ||
| 32 | |(% style="width:440px" %)Создание внешней общей сети.|(% style="width:264px" %){{code language="cmd"}}docker network create proxyNet{{/code}} | ||
| 33 | |(% style="width:440px" %)Конфигурацию nginx можно увидеть в файле | ||
| 34 | (отображение правил proxy).|(% style="width:264px" %)etc/nginx/conf.d/default.conf | ||
| 35 | |(% style="width:440px" %)Пример маркировки контейнера сервиса.|(% style="width:264px" %){{code language="yaml"}}environment: | ||
| 36 | - VIRTUAL_HOST=<subdomain.domain> | ||
| 37 | - LETSENCRYPT_HOST=<subdomain.domain> | ||
| 38 | - VIRTUAL_PORT=8080 | ||
| 39 | |||
| 40 | networks: | ||
| 41 | - "proxyNet" | ||
| 42 | |||
| 43 | networks: | ||
| 44 | proxyNet: | ||
| 45 | external: true{{/code}} | ||
| 46 | )))|(% style="width:655px" %){{code language="yaml"}}services: | ||
| 47 | |||
| 48 | reverse-proxy: | ||
| 49 | image: "jwilder/nginx-proxy:latest" | ||
| 50 | container_name: "reverse-proxy" | ||
| 51 | volumes: | ||
| 52 | - "html:/usr/share/nginx/html" | ||
| 53 | - "dhparam:/etc/nginx/dhparam" | ||
| 54 | - "vhost:/etc/nginx/vhost.d" | ||
| 55 | - "certs:/etc/nginx/certs" | ||
| 56 | - "/run/docker.sock:/tmp/docker.sock:ro" | ||
| 57 | restart: "always" | ||
| 58 | networks: | ||
| 59 | - "proxyNet" | ||
| 60 | ports: | ||
| 61 | - "80:80" | ||
| 62 | - "443:443" | ||
| 63 | |||
| 64 | letsencrypt: | ||
| 65 | image: "jrcs/letsencrypt-nginx-proxy-companion:latest" | ||
| 66 | container_name: "letsencrypt-helper" | ||
| 67 | volumes: | ||
| 68 | - "html:/usr/share/nginx/html" | ||
| 69 | - "dhparam:/etc/nginx/dhparam" | ||
| 70 | - "vhost:/etc/nginx/vhost.d" | ||
| 71 | - "certs:/etc/nginx/certs" | ||
| 72 | - "/var/run/docker.sock:/var/run/docker.sock:ro" | ||
| 73 | environment: | ||
| 74 | NGINX_PROXY_CONTAINER: "reverse-proxy" | ||
| 75 | DEFAULT_EMAIL: "user@domain.ru" | ||
| 76 | restart: "always" | ||
| 77 | depends_on: | ||
| 78 | - "reverse-proxy" | ||
| 79 | networks: | ||
| 80 | - "proxyNet" | ||
| 81 | volumes: | ||
| 82 | certs: | ||
| 83 | html: | ||
| 84 | vhost: | ||
| 85 | dhparam: | ||
| 86 | |||
| 87 | networks: | ||
| 88 | proxyNet: | ||
| 89 | external: true{{/code}} | ||
| 90 | |(% style="width:723px" %) |(% style="width:655px" %) | ||
| 91 | ))) |