当上游服务器重新启动且未恢复正常时,NGINX 显示“错误网关”

2023-12-30

每次当我重新启动上游服务器时,我的 NGINX 显示“坏网关”,这没关系,但后来,当上游服务器重新启动 nginx 时,nginx 不会自动恢复,我需要手动重新启动它(nginx)。

是否有一个选项可以让 nginx 每隔几秒检查一次上游是否恢复正常?

    upstream core {

    server core:3001;
}

server {
    server_name core.mydomain.com corestg.mydomain.com www.core.mydomain.com;

    #listen 80;
    #listen [::]:80;

    gzip on;
    gzip_static on;    
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
    gzip_proxied  any;
    #gzip_vary on;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;    
     listen 443 ssl http2;
     listen [::]:443 ssl http2;

    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

    server_tokens off;
    ssl_certificate /etc/ssl/domain.crt;
    ssl_certificate_key /etc/ssl/domain.rsa; 

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;

    location / {
        proxy_ssl_session_reuse off;
        proxy_pass http://core;
        proxy_buffers 8 24k;
        proxy_buffer_size 2k;
        proxy_http_version 1.1;
        proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
        proxy_ignore_headers Set-Cookie;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-NginX-Proxy true;
#       proxy_set_header Host $http_host;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}

看来 NGINX 默认情况下不进行自动恢复。 更改配置部分:

upstream core {
    server core:3001;
}

to:

{
    server core:3001  max_fails=1 fail_timeout=1s;
    server core:3001  max_fails=1 fail_timeout=1s;
}

成功了。重复不是错误。 Nginx 尝试解析第一行,失败时它将尝试第二行(循环)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当上游服务器重新启动且未恢复正常时,NGINX 显示“错误网关” 的相关文章

  • 为什么 Nginx 以相反的顺序提供客户端 SSL DN?

    我很好奇为什么某些 Web 服务器 例如 Nginx 以相反的顺序提供客户端 SSL DN Web 应用程序将 DN 发布到 Java Web 服务 该服务尝试创建 Javajavax naming ldap LdapName http d
  • 如何设置 Nginx URI 以修复重定向到指定位置中的空 URI

    问题 当使用包含 符号的无效 URL 访问我们的网站时 Nginx 会抛出 400 Bad Request 错误 我们希望将请求重写为 WordPress 404 页面 而不是 Nginx 页面 我已经尝试过以下方法 location 40
  • 为什么要使用 Node.js 安装服务器(Nginx、Apache...)? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 Node js Express Web 框架下需要 apache https stackoverflow com questions 9287747 why do we need apache
  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • 通过 nginx 入口控制器进行基本身份验证

    我正在使用 nginx 入口控制器 https kubernetes github io ingress nginx deploy https kubernetes github io ingress nginx deploy 在 AWS
  • Kong - 验证上游 ssl(ssl_proxy 打开)

    我已经成功为 API 安装了 kong 网关 该 API 通过上游负载平衡到多个目标 应用程序服务器 现在 我有一个我的应用程序服务器的自签名证书 kong 和目标之间的 ssl 握手应该失败 我推断 kong 不验证上游证书 经过一些研究
  • 为什么 nginx 接受 Host 标头与 server_name 不匹配的请求?

    我有一个这样设置的站点 nginx 作为代理服务器 通过 UNIX 套接字代理为 Django 站点提供服务的 Gunicorn 实例的请求 这是我的 nginx 配置 server listen 80 server name api my
  • Nginx 正在向 uWSGI 发出非常旧的请求?

    我看到一种奇怪的情况 Nginx 或 uwsgi 似乎正在建立一个很长的传入请求队列 并在客户端连接超时后很长时间内尝试处理它们 我想理解并停止这种行为 以下是更多信息 My Setup 我的服务器使用 Nginx 通过 Unix 文件套接
  • Node + Express + Nginx 未设置 Cookie

    我有一个使用 Express 的 Node 应用程序 我尝试为我的客户端设置 cookie 它在本地环境 http 上运行良好 但是一旦我投入生产 https 我就很好地收到了cookie 我可以在响应中看到它 但它没有设置 任何想法 Ng
  • Nginx反向代理返回404

    我的 Nginx 安装并运行 下面是配置 etc nginx nginx conf 我要全部转发 api 到我的 tomcat 服务器 该服务器在同一服务器上的端口 9100 上运行 类型http myhost 9100 api apps有
  • WebSockets 监听 UNIX 域套接字?

    是否可以在 nginx 服务器后面设置一个 WebSockets 服务器来处理 UNIX 域套接字上的连接 我目前在同一台计算机上有多个 WebSocket 服务器实例 并且存在端口共享问题 所有实例都必须分配一个唯一的端口 我想避免这种情
  • 如何在运行 NGINX Docker 容器的 AWS EC2 上启用 HTTPS?

    我在 AWS 上有一个运行 Amazon Linux 2 的 EC2 实例 在上面 我安装了 Git docker 和 docker compose 完成后 我克隆了我的存储库并运行docker compose up让我的生产环境启动 我访
  • Django + uwsgi + ngnix + 调试关闭 = 服务器错误(500)

    我正在尝试设置一个由 Django uwsgi Nginx 组成的生产服务器 我正在关注的教程位于此处http www panta info blog 3 how to install and configure nginx uwsgi a
  • Http POST 删除 URL 中的端口

    我有一个用 Django 构建的网络应用程序 我目前正在家里的路由器后面的笔记本电脑上运行它 我将路由器配置为将发送到特定端口的所有流量路由到该笔记本电脑 我将 Nginx 作为 Apache 的反向代理 使用 mod wsgi 来运行 D
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • nginx位置正则表达式,匹配多次

    如何在 nginx 位置正则表达式中多次匹配 看来 x x 语法永远不起作用 例如 location abc w 1 3 从来不工作 您必须引用包含以下内容的位置 or 人物 location abc w 1 3 否则 nginx 将其解析
  • Openresty 中的并发模型是什么?

    我很难理解 openresty 或 nginx 的并发模型 我读了Lua变量作用域 http wiki nginx org HttpLuaModule Lua Variable Scope 它解释了变量的生命周期 但它没有说明对它们的并发访
  • 抑制 nginx 访问被拒绝错误日志

    我在 nginx 中设置了一些规则来拒绝 IP 访问 这很有效 但对于来自被拒绝 IP 的每个请求 都会记录以下开头的错误 error 7325 0 5761 access forbidden by rule client 有没有办法抑制这
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 连接被拒绝:当uwsgi和nginx在不同容器中时

    我正在尝试设置两个 docker 容器 是的 无需 docker compose 分开 一个带有 nginx 另一个带有带有基本 Flask 应用程序的 uwsgi 我在 docker 内的同一网络中运行容器我的 nginx 配置已添加 链

随机推荐

  • 使用 GTK 和 c++ 播放音频文件

    我目前正在使用 gtk 和 C 代码构建一个非常简单的音乐播放器 但现在我无法弄清楚如何使用 C 代码打开和播放音频文件 include
  • 添加苹果图标到网站

    我已经使用 Woorank 测试了我的网站 并显示了有关缺少 Apple 图标的警告 我已经搜索过 但我不确定如何包含这个图标 我找到了这段代码
  • “新”表达式中的大括号? (例如“new MyClass() { ... }”)

    大括号在那里做什么 handler1 new Handler public void handleMessage object new Class Name 这种语法只存在于 Android 或 Java 上吗 那么它在 Java 中又叫什
  • 使用 HttpWebRequest.BeginGetResponse 实现超时的最佳方法

    HttpWebRequest BeginGetResponse 不尊重 HttpWebRequest 的任何超时属性 Timeout 或 ReadWriteTimeout 我阅读了一些方法来获得相同的结果 但我不知道这是否是最好的方法 以及
  • Flutter 中的错误“主体可能正常完成,导致返回‘null’,但返回类型”

    这个问题在这里已经有答案了 在我的代码中 打开此页面然后调用获取数据 initState fetch 中的方法每 15 秒调用一次数据方法 初始化状态 Timer timer Future
  • 我应该使用什么纯 Python 库来抓取网站?

    我目前有一些 Ruby 代码用于抓取一些网站 我使用 Ruby 是因为当时我在一个网站上使用 Ruby on Rails 这很有意义 现在我正尝试将其移植到 Google App Engine 但一直陷入困境 我已将 Python Mech
  • 无法将 SQL 插入到一个特定表中

    所以在过去的三个小时里我一直在尝试将 sql 插入到这个特定的表中 我想我开始发疯了 我已经隔离了我认为可能是问题的事情 但如果您想了解更多信息 请随时询问 本质上我目前有两个 sql 表 concepts and FUideas 我对此感
  • 访问 Xamarin.iOS Settings.Bundle?

    我已经尝试了很长一段时间来寻找一个应该非常简单的问题的解决方案 我想要的是在应用程序未运行时可以在 iPhone 设置菜单中编辑的变量 基本上是一个包含在 iOS GUI 中的配置文件 这应该是iOS中的内置功能 虽然我可以找到一些与之相关
  • UISegmentedcontrol 在 UITabbarcontroller 中切换视图

    我正在尝试使用在多个不同视图之间切换UISegmentedControl 我找到了一个非常好的例子来做到这一点 http redartisan com 2010 6 27 uisegmented control view switching
  • Visual Studio 监视窗口中的“非公共成员”节点显示什么?

    我假设 C 对象的所有非公共 即私有 受保护 内部和内部受保护 成员都位于 非公众会员 当我在 Visual Studio 观察窗口中查看对象时 但是随后 我注意到以下代码存在异常 class HashDerived System Secu
  • jQuery 中窗口和文档的区别

    我想知道两者之间有什么区别document window在 jQuery 中 这两个经常被使用 但我一直不明白它们之间的区别 唷 这实际上是一个比您想象的要大得多的问题 The 极短的答案是 The window对象代表容器document
  • MySQL 错误 1005:无法创建表(错误号:150)

    我正在尝试创建下表 create table messaInScena data date ora time spazio varchar 20 spettacolo varchar 40 postiDisponibili smallint
  • 我应该从 MooTools 转换为 jQuery 吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 服务器无法验证请求。确保授权标头的值格式正确,包括签名

    我注意到我的计算机时区设置为 UTC 08 00 Pacific Time US Canada 所以我把它改为 UTC 08 00 Kuala Lumpur Singapore 然后当我打开 Azure 存储资源管理器时 它显示以下错误 我
  • 确定焦点事件:单击或制表符

    如果焦点是在单击事件或 tabstop 上触发的 如何确定 jQuery 上的焦点事件 我有这个焦点事件 如果焦点是由制表符触发的 我将执行某些操作 如果是单击 我将不会执行它 这是一个伪代码 a focus function if Thi
  • ORM 有何伟大之处?

    所以我的头靠在墙上 希望有人能来帮忙 要么把墙移走 要么阻止我的头移动 在过去的 3 4 周中 我一直在调查 ORM 是否为新项目做好了准备 ORM 必须映射到现有的大型且老化的 SQL 数据库 所以我尝试了亚音速 我真的很喜欢 v2 和
  • 如何使非模态对话框窗口始终位于最前面?

    我正在使用一个实例Dialog 在我的应用程序中显示一个小控制器窗口 用户可以与之交互以影响主窗口中的功能 有点像远程控制 我可以使这个对话框模式化 modality Qt WindowModal or modality Qt Applic
  • spring请求参数如何转换

    在基于 Spring 3 的 Web portlet 应用程序中 我有一个控制器 其方法如下 RenderMapping public ModelAndView handleRenderRequest RequestParam MyClas
  • Highcharts如何使用JavaScript变量作为系列数据源?

    我正在运行一个 asp net 代码隐藏 它创建一个字符串变量 该变量保存由逗号分隔的浮点数集合 C 中类似这样的东西 string myCString 4 5 3 1 6 5 7 0 1 3 然后 该变量进入 asp net 网页 并在其
  • 当上游服务器重新启动且未恢复正常时,NGINX 显示“错误网关”

    每次当我重新启动上游服务器时 我的 NGINX 显示 坏网关 这没关系 但后来 当上游服务器重新启动 nginx 时 nginx 不会自动恢复 我需要手动重新启动它 nginx 是否有一个选项可以让 nginx 每隔几秒检查一次上游是否恢复