nginx gagal menyelesaikan nama-nama hulu pada ulang bahkan jika mereka DO diselesaikan oleh OS


9

Ketika memuat ulang config (khusus untuk proxy_pass) - kadang-kadang ini akan terlihat: nginx: [emerg] host tidak ditemukan di hulu

Namun - nama server upstream AKAN menyelesaikan di os (linux) - hanya nginx yang tampaknya memiliki masalah ini.

Ini tampaknya merupakan regresi baru-baru ini - karena tampaknya tidak terjadi sebelum versi 1.0.10.

Adakah yang memperhatikan ini baru-baru ini?

Mencoba mempersempit tempat untuk mencari.

Jawaban:


6

Nginx secara internal melakukan cache DNS selama 5 menit (tidak yakin apakah ini dapat dikonfigurasi di versi yang lebih baru). Mungkin resolver Anda gagal karena suatu alasan, maka Nginx cache hasil ini.

Saya telah melihat ini pada sistem dengan IPv6 diaktifkan sejak menjadi default, resolver meminta kedua rekaman IPv4 dan IPv6 secara paralel. Ini dapat dilihat sebagai banjir oleh resolver yang menghasilkan masalah DNS sementara. Saya melihat popup ini pada sebuah kotak dengan banyak lalu lintas email ketika melakukan verifikasi nama domain.

Coba tambahkan:

  options single-request

ke /etc/resolv.conf

Ini menyebabkan pencarian IPv6 / v4 dilakukan secara berurutan.


Terima kasih atas jawaban anda. Ternyata ini adalah kesalahan dengan mengacaukan nama host di file konfigurasi. Ups. Tetapi jawaban Anda sebenarnya sangat berguna - jadi saya akan menandainya sebagai yang benar - karena akan menyebabkan masalah DNS, pasti (mengecamnya dengan permintaan).
Michael Neale

2
Saya memiliki masalah yang sama - apa yang sebenarnya Anda lakukan dalam file konfigurasi untuk memperbaikinya (terima kasih sebelumnya)
Zabs

Anda sekarang dapat menambahkan value=30sopsi ke resolveruntuk menentukan berapa lama alamat IP yang diselesaikan harus disimpan dalam resolvercache.
Alexis Wilke
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.