@TheSima

Ошибка «host not found in upstream», в чем причина? Документация не верна?

Немножко о конфигурации:
root@debi:/etc/nginx# uname -a
Linux debi 4.9.0-4-amd64 #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) x86_64 GNU/Linux


root@debi:/etc/nginx# nginx -v
nginx version: nginx/1.10.3


root@debi:/etc/nginx# cat nginx.conf
... 
http {
	resolver 127.0.0.1 8.8.8.8;

	server {
		listen 80;
		server_name mydomain.loc;
		access_log /var/log/nginx/google.com-access.log;
		error_log /var/log/nginx/google.com-access.log;
			
		location / {
			proxy_pass http://google.com;
			}
	}
...
(это часть конфига, вся остальная часть как после установки стандартна)

И так начнём..
В документации указано что:
"В значении параметра можно использовать переменные. В этом случае, если адрес указан в виде доменного имени, имя ищется среди описанных групп серверов и если не найдено, то определяется с помощью resolver’а. "
resolver - указан(см. выше).
А ошибку выдаёт такую:
nginx: [emerg] host not found in upstream "google.com" in /etc/nginx/nginx.conf:21


Что не так? :)
  • Вопрос задан
  • 20059 просмотров
Решения вопроса 1
@TheSima Автор вопроса
Вот и ответ.
Если указанное доменное имя (в данном случае google.com) не резолвится на указанных resolver 8.8.8.8, то в момент запуска теста конфига:
root@debi:/etc/nginx# nginx -t, он выдаст именно такую ошибку как в вопросе....
Что совсем не явно. (мягко сказано..)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы