Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 9418|Ответ: 0

[Веб] Реализовать динамические восходящие потоки с помощью резольвера Nginx

[Скопировать ссылку]
Опубликовано 27.07.2019 22:23:00 | | |
В последнее время в моей работе возникла необходимость в этом аспекте: upstream полностью динамический, задаётся клиентом, в начале есть ошибки, и наконец DNS-сервис задаётся через резолвер, конкретный процесс такой.

1. Начинайте наступать на яму

Конфигурация nginx следующая:

Когда я отправляю такой запрос:


Была зафиксирована следующая ошибка:

access.log:
127.0.0.1 - - [14/Sep/2017:23:37:10 +0800] "GET / HTTP/1.1" 502 179 "-" "curl/7.29.0"

error.log:
2017/09/14 23:38:31 [ошибка] 25307#25307: *48 не определен резолвер для разрешенияwww.baidu.com, клиент: 127.0.0.1, сервер: localhost, запрос: "GET / HTTP/1.1", хост: "127.0.0.1:8001"
Очевидно, что эта проблема гласит, что отсутствие указания резолвера вызывает кастомные upstreamwww.baidu.com.

2. Используйте резолвер для определения разрешения доменных имён

Модифицированная конфигурация nginx выглядит следующим образом:

Теперь обычные запросы — 200:

req:
curl "127.0.0.1:8001/" -H "upstream-host:www.baidu.com" -voa
curl "127.0.0.1:8001/" -H "upstream-host:www.qq.com" -voa

access.log:
127.0.0.1 - - [14/Sep/2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14/Sep/2017:23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Инструкции по резольверу

Синтаксис резольвера следующий:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Вы можете настроить несколько DNS-сервисов, nginx будет использовать опрос для доступа к DNS-сервисам, nginx кэширует результаты разрешения доменных именей DNS, время кэша задаётся valid, а IPv6 используется для отображения IPv6 включённым или выключенным.

resolver_timeout используется для указания тайм-аута для разрешения DNS.





Предыдущий:Поделитесь личным программным обеспечением для создания FTP
Следующий:Конфигурация обратного прокси Alibaba Cloud OSS Nginx
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com