利用nginx进行反向代理的时候,我们会配置proxy_pass。在启动nginx的时候,会报如下错误:
nginx: [emerg] host not found in upstream "xxx.com" in /usr/local/nginx/conf/vhost/yq.nginx.com.conf:19
其实nginx配置语法上没有错误的,只是系统无法解析这个域名,所以报错。
网上的办法
很多文章给出的解决办法是添加 “xxx.com” 到/etc/hosts,让其能够解析到IP
vim /etc/hosts //修改hosts文件,在hosts文件里面加上一句: 127.0.0.1 localhost.localdomain xxx.com
修改完之后确实可以访问网站了,但是我们配置的反向代理不生效了,接口报错404
我用的办法
在/etc/systemd/resolved.conf文件添加DNS解析服务器地址
vim /etc/systemd/resolved.confDNS=8.8.8.8 8.8.4.4
然后在服务器中输入systemctl restart systemd-resolved命令并重启。
参考文章:
https://blog.csdn.net/Hreticent/article/details/86074502