Nginx HTTP2 POST 於 iOS 出現無法連接伺服器的問題 - 2017

Nginx 1.9.15 ~ 1.10.x 上 HTTP/2 後,於 iOS 8 / Safari 的 POST,會出現網路無法連接到伺服器的錯誤。

這個問題一直追 iOS 也沒用,主要問題出在 Nginx。

  • 註:要說錯也不是 Nginx 的錯,Nginx 也是為了減少被攻擊的風險,所做的事情

Nginx HTTP/2 POST 於 iOS 出現無法連接伺服器的問題

這個問題一開始都從 iOS / App / Safari 的部份去追,沒有想到 Nginx 的問題,查看下述幾篇關於 HTTP2 和 瀏覽器的問題:

最後找到此篇,此篇有清楚的說明 Nginx 為何會產生這個問題的原因:談談 Nginx 的 HTTP/2 POST Bug

想了解原因的,就自行參考上述連結即可(簡單說就是 HTTP2 定義 POST DATA 可能造成攻擊發生,所以 Nginx 之前的版本有做防止,卻會造成此問題)。

紀錄簡單快速的解法:

  • 升級到 Nginx 1.10.2 以上即可

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料