nginx代理ambassador出现426错误
时间:2019-09-24
本文章向大家介绍nginx代理ambassador出现426错误,主要包括nginx代理ambassador出现426错误使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
现在ambassador文档啃得差不多了。进入实战阶段。
一开始,就偶遇426错误。
网络结构大致如下:
浏览器访问nginx,
nginx代理到k8s内的ambassador,
ambassador代理到k8s内的service。
别问为什么这么复杂,
还有更复杂的。
比如,ambassador代理到k8s内的nginx,
nginx再代理到k8s集群外的服务。
多一层代理,多一层灵活和控制,
看场景和心态啦。
最后,解决靠了百度。
URL:
https://blog.csdn.net/pushme_pli/article/details/88411373
426(https://httpstatuses.com/426)表示服务器拒绝浏览器使用当前协议发送的请求。
懵逼了,
原来这个protocol指的是HTTP的version,而罪魁祸首是nginx。具体来讲是:
- browser使用HTTP 1.1发送request到nginx
- nginx使用HTTP 1.0(https://serverfault.com/questions/442960/nginx-ignoring-clients-http-1-0-request-and-respond-by-http-1-1)把request重定向到ambassador(Envoy)
- Envoy受不了HTTP 1.0,要求升级为1.1,所以抛出426
那好办了,让nginx重定向时使用HTTP1.1,在nginx的router rule中加入:
proxy_http_version 1.1; proxy_set_header Connection "";
原文地址:https://www.cnblogs.com/aguncn/p/11577866.html
- 容灾半自动化的实现思路(二) (r7笔记第93天)
- Go 谚语
- DBA和开发同事的一些代沟(五) (r7笔记第92天)
- 55. 上传文件(Web版) | 厚土Go学习笔记
- ASM无法启动的问题分析(一)(r7笔记第87天)
- 54. 心跳的实现 | 厚土Go学习笔记
- 53. Socket服务三次握手的示例 | 厚土Go学习笔记
- 使用Beego+Swagger构建更好的API服务
- ASM无法启动的问题分析(二)(r7笔记第88天)
- 43. 等价二叉树 | 厚土Go学习笔记
- 51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
- 50. RESTful API的简单实现 | 厚土Go学习笔记
- go实现西瓜视频花椒直播等平台智能答题
- 主备切换的准备工作(二) (r7笔记第85天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 逻辑漏洞之无密码登录(vlcms)
- Python开发 常见异常和解决办法
- 约瑟夫问题
- AUC、ROC详解:原理、特点&算法
- akka-streams - 从应用角度学习:basic stream parts
- 多线程基础(四):volatile和可见性问题及happens-before原则
- 多线程基础(三):synchronized关键字及java内存模型简介
- 多线程基础(一): 线程概念及生命周期
- Windows下Redis服务的安装及Redis服务的命令行启动和关闭
- git hooks
- 二叉树的层次遍历 II
- Android开发笔记(一百七十三)给安装包APK文件瘦身
- 从 1 到 0 构建博客项目(1) -- 操作系统篇(1)
- Spring JPA 定义查询方法
- 代理工厂的简单应用