Nginx 提示host not found in upstream 错误解决方法

Nginx DNS resolver配置实例,本文讲解在proxy_pass 和 upstream server 通信的时候需要手动指定 resolver,本文就给出了配置实例.

nginx 通过 proxy_pass 和 upstream server 通信的时候需要手动指定 resolver。某些时候 DNS 解析失败就会出现这个错误:

domain.com could not be resolved.

可以指定多个 DNS 并重置域名 TTL 延长 nginx 解析缓存来保障解析成功率:

resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s;

如果还有解析错误,可以用 dnsmasq 在本地自建 DNS,顺带还有加速解析的好处:

#/etc/dnsmasq.conf
domain-needed
bogus-priv
cache-size=51200
listen-address=127.0.0.1

#server=223.5.5.5
resolv-file=/etc/resolv.conf

另外需要注意的是 proxy_pass 并不是每次请求都会进行解析,如果 upstream IP 频繁变动,需要强制解析:

# via http://forum.nginx.org/read.php?2,215830,215832#msg-215832
resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass http://$backend;

[[email protected] ~]# ping www.baidu.com
ping: unknown host www.baidu.com

解决:

首先确定已经连接上路由器,并且路由器能够访问外网,可以通过访问网关进行确定

[[email protected] ~]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.96 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.75 ms

如果确定网络没问题的情况下, 可以通过如下步骤寻找解决办法:

1) 确定设置了域名服务器, 没有的话, 建议设置Google的公共DNS服务, 可通过cat /etc/resolv.conf查看当前的DNS设置

2) 确保网关已设置 ,通过route命令查看

[[email protected] ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

网关和dns都配置好了基本就可以上网了。

原文地址:https://www.cnblogs.com/littlehb/p/9744091.html

时间: 2024-08-02 00:12:20

Nginx 提示host not found in upstream 错误解决方法的相关文章

Nginx出现413 Request Entity Too Large错误解决方法

Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打开nginx主配置文件nginx.conf,找到http{}段,添加 解决方法就是 打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段,修改或者添加  代码如下 复制代码 client_max_body_size 2m; 然后重启nginx,  代码如下 复制代码 sudo /etc/ini

Nginx下开启php-fpm的错误提示--open_basedir restriction in effect的错误解决方法

默认在nginx下不显示php的错误提示,开启方法: php.ini    display_errors = On php-fpm.confphp_flag[display_errors] = on realpath(): open_basedir restriction in effect (xxx) is not within the allowed path 的错误解决办法 检查下php.ini中的 open_basedir 设置,把网站所在的目录加上,或直接禁用这个参数

Nginx出现“413 Request Entity Too Large”错误解决方法

今天使用phpmyadmin的导入功能的时候,由于sql文件过大,服务器出现错误提示了,413 Request Entity Too Large,google了一下,发现是Nginx的错误提示.  解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加 client_max_body_size 100m; fedora下 vi /etc/nginx/nginx.conf  重启NGINX   sudo /etc/init.d/nginx restart 恢复正常

nginx 问题 413 Request Entity Too Large的解决方法

上传图片出现Nginx出现"413 Request Entity Too Large"错误解决方法 看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M 解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加 client_max_body_size 20m;

nginx: [emerg] host not found in upstream "baafile.yiche.com" in /usr/local/etc/nginx/nginx.conf:67

场景:nginx之前配置好的,直接启动即可,过了一段时间,突然启动报错. nginx: [emerg] host not found in upstream "baafile.yiche.com" in /usr/local/etc/nginx/nginx.conf:67 应该是 baafile.yiche.com  这个域名 之前可以访问,现在不能访问了.把此处的注释重启即可. 原文地址:https://www.cnblogs.com/kpengfang/p/12698756.htm

Powerdesigner打开工程提示打印错误 解决方法

在使用PowerDesigner打开工程时, 提示打印错误的问题,具体错误信息提示如下: 在您可以执行与打印机有关的任务(例如页面设置或打印一个文档)之前,您必须已经安装打印机.您想现在安装打印机么? 解决办法: 打开windows的服务,把 Print Spooler 这个服务启动之后,问题就解决了 Powerdesigner打开工程提示打印错误 解决方法

win7 、2008 提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法

在安装控件过程中出现提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法 1. 点击开始菜单    –运行  –regedit   后按回车键 2,找到注册表   HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/InetStp/PathWWWRoot  (32位系统) 或者  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Nod

安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)

安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above.  (错误解决方法) 主要是由于版本不对,sdk和adt的版本. 解决思路: 打开Eclipse--帮助(help) -- Install Now Software -- Add按钮 Name:随便输入 下面的文本框输入 :http://dl-ssl.google.com/android/eclipse/ 在线更新就行了,超慢呀! =====

Nginx启动提示找不到libpcre.so.1解决方法

nginx启动报错:  error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 我用的是64位系统 解决办法: [[email protected] ~]#  ln -s /usr/local/lib/libpcre.so.1 /lib64 启动nginx即可: /usr/local/webserver/nginx/sbin/ngin