最近我们用python开发了一套SSO、然后权限系统一起的一次大更新上线,上线后发现SSO无法正常工作,但测试环境一直无问题。

问题描述

问题URL
http://sso.a.com/signin?redirect_uri=http://tomcat
正常URL
http://sso.a.com/signin?redirect_uri=http://b.c.com

排查

检查代码啥的发现没问题,把动态获取的host改成静态的域名,单启进程后正常,问题定位在nginx的负载上.

nginx domain配置文件

upstream tomcat {server 10.143.88.240:10086;
}
server {listen 80 ;server_name xxxx;gzip on;gzip_static on;gzip_vary on;gzip_proxied any;gzip_min_length     1000;gzip_buffers    4 8k;gzip_disable    "msie6";gzip_http_version 1.1;gzip_comp_level 5;gzip_types text/plain text/css text/javascript application/javascript application/x-javascript;location / {proxy_pass http://tomcat;}}

稍微思考一下,upstream中的name是一个变量,而做为变量即可得到后端地址,而不是直接给后端地址。

处理

将upstream中的name改成实际的域名,在这里即是b.c.com即可以获取,然后工作正常。

查看官主解释

默认情况下,nginx按加权轮转的方式将请求分发到各服务器。 在上面的例子中,每7个请求会通过以下方式分发: 5个请求分到backend1.example.com, 一个请求分到第二个服务器,一个请求分到第三个服务器。 与服务器通信的时候,如果出现错误,请求会被传给下一个服务器,直到所有可用的服务器都被尝试过。 如果所有服务器都返回失败,客户端将会得到最后通信的那个服务器的(失败)响应结果。

nginx的upstream问题记录相关推荐

  1. nginx相关的一些记录

    nginx相关的一些记录 http redirect to https: if ($http_cf_visitor ~ '"scheme":"http"'){r ...

  2. php fpm 日志记录,如何解决nginx下php-fpm不记录php报错日志的问题

    如何解决nginx下php-fpm不记录php报错日志的问题 发布时间:2020-07-28 10:17:29 来源:亿速云 阅读:150 作者:Leah 本篇文章为大家展示了如何解决nginx下ph ...

  3. nginx修改upstream不重启的方法(ngx_http_dyups_module模块)

    为什么80%的码农都做不了架构师?>>>    nginx很强大,第三方模块也不少,淘宝在nginx上很活跃,特别是章亦春,他参与的模块至少10+, 好了今天主角不是他,是一款动态配 ...

  4. nginx php fpm 日志,nginx下php-fpm不记录php报错日志怎么办?

    解决nginx下php-fpm不记录php报错日志的办法:1.修改[php-fpm.conf]中配置,没有则增加:2.修改[php.ini]中配置,没有则增加:3.重启[php-fpm]即可. 解决n ...

  5. Nginx开启访问日志记录

    转载自 https://www.cnblogs.com/want990/p/11551440.html Nginx开启访问日志记录 vi /etc/nginx/nginx.conf 2.打开 log_ ...

  6. Nginx系列--upstream模块的使用

    原文网址:Nginx系列--upstream模块的使用_IT利刃出鞘的博客-CSDN博客 简介 说明         本文介绍nginx的upstream模块的使用. nginx的upstream模块 ...

  7. Nginx配置upstream

    Nginx配置upstream并且实现负载均衡 Nginx配置upstream实现负载均衡 nginx配置-upstream

  8. Nginx的upstream目前支持5种分配方式

    本文转自:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247484058&idx=1&sn=f4da816bfa ...

  9. nginx的upstream目前支持5种方式的分配

    从本质上说,upstream属于handler,只是他不产生自己的内容,而是通过请求后端服务器得到内容,所以才称为upstream(上游).请求并取得响应内容的整个过程已经被封装到nginx内部,所以 ...

最新文章

  1. linux c sysconf函数 得到系统配置
  2. 初学python还是swift-iOS 将来 Swift 也许会取代 Python
  3. PKUSC2019游记
  4. linux安装jdk、tomcat
  5. C语言为什么要尽量少用全局变量
  6. JS杂谈系列-jquery-插件开发小记
  7. 常用推荐算法(50页干货)
  8. Atitit 外出活动实名制条例sak令[2018]第920号 《外出活动实名制管理条例》     SAK安全部令 第920号 现发布《外出活动实名制管理条例》,自2018年9月1日起施行。
  9. 用户自定义变量、系统变量、环境变量
  10. matlab用pathy语言,2018 年度编程语言 -- Python
  11. 【专利】实用新型专利设计模板
  12. unity 2020可用NDK 下载地址版本为19.0.5232133
  13. ubuntu/linux系统知识(14)ubuntu 搜狗输入法不见了,重启方法
  14. velodyne16点云特征分类
  15. 安卓Andriod使用入门(二)【高仿安卓微信6.0】
  16. 编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。
  17. 摘录魏国谋士轮胜败要素
  18. 智能电网如何巡检?这个方法才是标配
  19. MacBook M1 Flutter环境搭建
  20. 如何用邮件(微信)接收交易信号?

热门文章

  1. VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能...
  2. Html5 音效播放器
  3. Struts+Spring+Hibernate整合入门详解
  4. 摄像头光圈大小对景深的影响
  5. 最新的C#SqlHelper 类苏飞修改版(转载)
  6. 如何让自己的收件箱只收到自己订阅的邮件服务商
  7. (转)explorer.exe应用程序错误:0x000000该内存不能为read的解决方法
  8. 关于多边形内点数问题的一些变形
  9. 谈新公司的人才队伍建设
  10. Spring中bean的scope详解