生产环境nginx(openresty)启动报错

111 阅读1分钟

背景

Paas业务,在部署软件整包到客户现场,部署过程中执行nginx(openresty)启动命令,报错如图

openresty启动报错.png

报错的含义:nginx(openresty)无法解析域名"lowcode.qa.mchz.com.cn",或者理解成域名无法联通访问

nginx配置如下:

# 上报覆盖率请求地址转发,解决前端浏览器https无证书的信任问题
location /coverage/client {
  proxy_redirect off;
  proxy_pass http://demo.qa.mchz.com.cn/coverage/client;
}

问题原因

  • DNS解析:OpenResty 在启动时会解析配置文件中所有的域名(比如 proxy_pass 中的 lowcode.qa.mchz.com.cn)。如果该域名无法解析或服务器无法访问该域名,启动时可能会遇到 DNS 解析失败的问题。具体表现为启动失败或者日志中显示 DNS 解析失败的错误。这里可以理解为是一种健康检查

解决方案

  • 确保反向代理的目标域名是可以在部署环境中能正常DNS解析,以及网络联通
  • 在生成环境中去掉无用的,或者无法联通的nginx location配置,防止nginx启动报错

扩展知识

  • OpenResty是一个基于 Nginx 的高性能 Web 平台,旨在通过集成 Nginx 和 Lua 脚本语言提供强大的 Web 服务能力。它将 Nginx 的高效能、灵活的配置和 Lua 的高可定制性结合在一起,允许开发者用 Lua 编写复杂的业务逻辑、进行异步请求处理等