iOSはv1.9.14以上のnginxでHTTP/2が有効なサーバーにアクセスするとエラーが出る

投稿: カテゴリー: 有用そうな情報

今日とあるWebサービスをiOSからぶっ叩いてたんですが、なんかPOSTリクエスト飛ばすとNSURLErrorDomain(code=-1004)が発生して取得できませんでした。

一日中Google先生にお伺いを立てていたんですが、そうしたらこんなstackoverflowの質問が出てきました。

NSURLErrorDomain Code=-1004 for few seconds after app start up - Stack Overflow
これですよ。で、これによると

We have the same issue here with Nginx 1.10.0 (and 1.9.15), iOS 9.3.1 using HTTP/2 with TLS 1.2.

The issue goes away with HTTP/1.1 and it’s also working with HTTP/2 in Nginx version up to 1.9.14.
というわけなんですね。

幸い叩いてたWebサービスが知り合いのものだったのでHTTP/2を無効にしてもらって解決しました。