Исходный код вики Nginx auto proxy for containers

Редактировал(а) Alexandr Fokin 2024/11/23 17:34

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