成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Nginx 轉發時的一個坑,運維居然讓我背鍋!

運維 服務器運維
最近遇到一個 Nginx 轉發的坑,一個請求轉發到 Tomcat 時發現有幾個 http header 始終獲取不到,導致線上出現 bug,運維說不是他的問題,這個鍋我背了。

[[356605]]

最近遇到一個 Nginx 轉發的坑,一個請求轉發到 Tomcat 時發現有幾個 http header 始終獲取不到,導致線上出現 bug,運維說不是他的問題,這個鍋我背了。

新增的幾個 header 是這樣的:

  • accept_sign
  • accept_token
  • ...

反復檢查代碼,確定這些 header 是傳了的,而且本地測試單獨在 tomcat 中是可以接受到這些參數的,所以 tomcat 和命名本身是沒問題的,初步斷定是 Nginx 的問題。

經過一翻搜索,終于找到了一個 Nginx 的配置參數:underscores_in_headers,這個參數默認值為:off,即默認忽略帶下劃線的 header。

解決方案:

1、在 http 或者 server 配置中把 underscores_in_headers 配置參數開關打開:

  1. server { 
  2.   ... 
  3.   underscores_in_headers on
  4.   ... 

增加配置后,然后重啟 Nginx。

2、使用破折號(-)代替下劃線(_),或者統一規范直接不要使用下劃線;

我們來看下一般的 http header 長什么樣的:

一般所見的 headers 確實也都是中杠線,沒有下劃線。

Nginx 為什么默認忽略帶下劃線 header?

我找到了 Nginx 的官方說明:

https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/?highlight=underscores#missing-disappearing-http-headers

If you do not explicitly set underscores_in_headers on;, NGINX will silently drop HTTP headers with underscores (which are perfectly valid according to the HTTP standard). This is done in order to prevent ambiguities when mapping headers to CGI variables as both dashes and underscores are mapped to underscores during that process.

根據官方說明,這樣做是為了避免把 headers 映射為 CGI 變量時出現歧義,因為破折號和下劃線都會被映射為下劃線,所以兩者不好區分……

好吧,終于弄清楚了,這個問題也太變態了,這應該是 Nginx 設計時的一個缺陷吧,這個坑我替你們踩了!

所以,推薦大家使用第二種方案吧,統一規范 headers 不要使用下劃線,使用 Nginx 默認的配置即可,這樣可以盡量避免環境上的差異,以免后續帶來問題。

本文轉載自微信公眾號「Java技術棧」,可以通過以下二維碼關注。轉載本文請聯系Java技術棧公眾號。

 

責任編輯:武曉燕 來源: Java技術棧
相關推薦

2019-08-27 08:55:05

2019-09-16 17:08:12

運維AIOpsIT運營

2018-10-19 16:35:20

運維

2017-09-25 10:52:27

2019-07-10 06:08:33

IT運維網絡故障故障排除

2018-03-23 09:43:09

2018-05-02 14:30:33

數據庫運維優化故障

2018-05-08 09:49:15

數據庫運維優化

2018-11-13 12:13:56

運維災備硬盤

2025-03-28 09:22:33

2023-06-06 11:47:36

運維物力人力

2019-12-10 10:28:47

運維架構技術

2017-03-27 17:49:40

戴爾服務器

2011-01-10 14:24:35

CIO快樂運維

2022-04-06 10:36:24

技術管理

2024-11-11 17:24:09

2019-12-03 13:57:38

CIO背鍋IT

2019-02-14 13:30:54

內存泄露運維

2018-06-29 10:36:29

阿里云互聯網故障

2017-12-03 12:37:00

運維wot智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜综合 | 欧美日韩看片 | 99成人免费视频 | 午夜精品一区二区三区在线播放 | 91久久精品国产91久久性色tv | 国产精品18毛片一区二区 | 欧美精品久久久久久久久久 | 亚洲第1页| 一级毛片黄片 | 国产网站在线免费观看 | 午夜精品久久久久久久星辰影院 | 久久久久久久久久久久一区二区 | 91久久精品日日躁夜夜躁欧美 | 日韩视频在线一区 | 国产精品日韩一区二区 | 视频在线一区二区 | 久操av在线 | 亚洲 欧美 日韩在线 | 欧美日韩视频在线播放 | 亚洲精品久久久9婷婷中文字幕 | 日本福利视频 | 一区在线观看 | 中文字字幕一区二区三区四区五区 | 国产亚洲精品综合一区 | 九色 在线 | 国产成人综合在线 | 在线亚洲免费视频 | 国产精品一区视频 | 亚洲精品女优 | 伊人网在线综合 | 天天射视频 | 免费精品视频在线观看 | 91在线导航 | 欧美精品一区二区三区四区 | 国产一区二区视频免费在线观看 | 日本欧美视频 | 亚洲一区精品在线 | 狠狠热视频| 国产一区精品在线 | 色爱综合| 日韩在线精品视频 |