解决nginx启动时域名解析失败而导致服务启动失败的问题
2024-10-13 09:13:48
问题:
nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败或者reload失败。
我们是to B的产品,客户的环境可能是不通公网的,因此不能使用公网DNS服务,进而导致在ng启动的时候,对proxy_pass后紧跟域名的dns解析失败,最终导致nginx启动失败。
解决方案:
不直接在proxy_pass后写域名,而通过变量的方式配置,如下:
set $target https://www.xxx.com;
proxy_pass $target ;
除了上面的配置之外,还要在server属性的平行域下使用resolver指令,如下
resolver 114.114.114.114;
Why?
假如proxy_pass后紧跟域名,那么在nginx启动的时候,会使用/etc/resolv.conf下配置的DNS服务器进行域名解析。
采用变量的方式后,nginx启动时不会再去解析变量所对应的域名,但是会在进行代理访问的时候,进行域名解析,此时不会使用/etc/resolv.conf配置的DNS服务器,必须使用reslover指令指定DNS服务地址。
最新文章
- JqueryDataTable的使用(.Net平台)
- mono的Type.GetType(string)总是为空
- php echo return exit 区别
- live555源码研究(三)------UsageEnvironment类
- 【POJ1743】 Musical Theme (二分+后缀数组)
- 手把手教你mysql(十)索引
- 真正菜鸟用教程之WQSG Scrip Export WQSG (脚本导出导入工具,PSP、NDS汉化必备 )
- Drools学习笔记-01-在eclipse indgo集成Drools5.5
- (一二四)tableView的多组数据展示和手动排序
- 在weblogic上部署遇到的问题总结
- java引用
- BZOJ1088 [SCOI2005]扫雷Mine 动态规划
- 03-树3 Tree Traversals Again(25 分)
- 【LeetCode题解】232_用栈实现队列(Implement-Queue-using-Stacks)
- 深入理解多线程(三)—— Java的对象头
- Python3学习之路~2.2 简单的购物车程序
- HBase HA的分布式集群部署(适合3、5节点)
- 搭建https+nginx服务器
- spark总结——转载
- Linux查看系统信息及系统性能检测命令