Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 9418|Відповідь: 0

[Веб] Реалізація динамічних підходів за допомогою резольвера Nginx

[Копіювати посилання]
Опубліковано 27.07.2019 22:23:00 | | |
Останнім часом у моїй роботі виникла потреба в цьому аспекті: upstream повністю динамічний, визначається клієнтом, на початку є деякі помилки, і нарешті DNS-сервіс вказується через резолвер, конкретний процес виглядає так.

1. Починайте наступати на яму

Конфігурація nginx виглядає так:

Коли я надсилаю такий запит:


Було зафіксовано наступну помилку:

access.log:
127.0.0.1 - - [14/вересень/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/вересня/2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14/вересня/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