问题:一个请求被重复提交,原因是nginx代理后面挂着2个服务器,请求超时的时候(其实已经处理了),结果nigix发现超时,有把请求转给另外台服务器又做了次处理。

我当时的nginx配置:

location  ~ /apollo {limit_req zone=pin burst=20;rewrite /apollo/(.*) /$1 break;proxy_next_upstream     http_500 http_502 http_503 http_504 error timeout invalid_header;proxy_set_header        Host  $host;proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass              http://tomcat_apollo;expires                 0;}

分析:代码中配置了proxy_next_upstream这个选项。此选项标识tomcat返回以下(http_500 http_502 http_503 http_504 error timeout invalid_header)错误码都会进行重试另外一台服务器。这个对于读请求没有关系,如果对于写请求就会发生多次提交事件。

解决方案:去掉proxy_next_upstream.


参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html

http://blog.csdn.net/mj158518/article/details/49847119


nginx proxy_next_upstream导致的一个重复提交错误相关推荐

  1. validate中submitHandler采用ajaxsubmit导致表单重复提交

    validate中submitHandler采用ajaxsubmit导致表单重复提交 在这几日的表单验证实践中,由于我的三个form都放在一个页面上,所以在submit上采用的是ajax方式来提交表单 ...

  2. 【重复提交表单】表单重复提交的三种情况,解决办法

    引入 看一个重复提交表单的例子 F12可以看到,请求体中的参数在刷新页面之后仍然保留,因此每一次刷新页面,都会把现有的请求体中的表单数据提交一次到服务器,而接收的页面还是insert.jsp,于是造成 ...

  3. SpringBoot解决用户重复提交订单(方式一:通过唯一索引实现)

    文章目录 前言 1.方案实现 1.1.给数据库表增加唯一键约束 1.2.编写获取请求唯一ID的接口 1.3.业务提交的时候,检查唯一ID 2.小结 前言 对于投入运营的软件系统(商城.物流.工厂等), ...

  4. 防止表单重复提交的问题

    最近老大让我处理一下订单重复提交的问题,不会做,自己网上默默的查资料,发现各式各样的,然后自己整理成一下,方便以后用. 首先我们分析下原因: 1.在网络延迟的情况下让用户有时间点击多次提交按钮导致表单 ...

  5. 使用session防止表单进行重复提交

    我们都知道可以通过js的方法来实现防止表单重复提交,但是js只适用于"在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交" 的情况下进行操作, 那如果碰到&qu ...

  6. JavaWeb学习总结(十三)——使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  7. JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)

    因为自己要用,所以查找了网络上javaweb项目防止表单重复提交的方法,有些部分不太好找,所以整合后贴出来,首先是孤傲苍狼的一部分博客文章,集群部署的解决方案在后面(注意大红字) 原文出处:孤傲苍狼的 ...

  8. java怎么防止表单重复提交_如何防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  9. 使用Session防止表单重复提交

    JavaWeb学习总结(十三)--使用Session防止表单重复提交 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提 ...

最新文章

  1. java 教室借用管理系统_教师办事指南 | 借用教室
  2. javascript实现的一个带下拉框功能的文本框
  3. Shiro集成SpringBoot时出现 not eligible for auto-proxying
  4. y7000p内存是一个16还是8+8_选择困难症:手握16万,该尝鲜高尔夫8还是抄底奥迪A3?...
  5. 编译py-faster-rcnn全过程
  6. cin、cin.get()、cin.getline()、getline()、gets()函数的用法
  7. 二叉堆时间复杂度 php,二叉堆(Binary Heap)
  8. 手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流
  9. Activity 半透明样式
  10. mysql 备份脚本 linux,LINUX中MySQL如何按时备份脚本
  11. python语言-Python Insider
  12. cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)
  13. 计算机科学之父——Alan Turing及相关电影介绍
  14. 欧几里得算法及其证明
  15. 相片打印机原理_【视界网】什么是便携式打印机以及工作原理有哪些呢?
  16. 怎样开通gmail邮箱smtp服务
  17. 何香伊的脸儿,战痘经历
  18. 大学计算机课要怎么学,大学计算机课学结
  19. python getattrribute_补8.python之面相对象part.7(类相关函数的补充)
  20. 顾客满意度意义与作用

热门文章

  1. 自动化测试里的数据驱动和关键字驱动思路的理解
  2. 分层设计与领域设计融合架构设计
  3. NR 5G 非3GPP 接入到核心网络的安全性
  4. onethink后台编辑器 提示:未检测到兼容版本的flash
  5. 【Python】 linecache模块读取文件
  6. Mysql 获取当月和上个月第一天和最后一天的解决方案
  7. Intel不争气,7nm再延后两年将彻底落败
  8. C#中DataTable的一些用法
  9. IIS日志自动删除程序 收藏
  10. C语言读写配置文件--转载