[原問題:ios api連結一直timeout]
我是API端的開發,API線上測試的時候沒有什麼問題。
但是IOS端的開發者報錯說NSURLCONNECTION 請求一直無法拿到reponse,都是timeout。
而且他請求其他的https的restAPI能拿到reponse。
請問:這個問題是伺服器方面的問題還是IOS端開發者的問題。
[補充說明]
#又看了下,發現safari無法打開這個網站,但chrome能夠打開。
能夠ping通伺服器,請問會是什麼原因?
[補充說明]
#最新發現的問題:
https://www.demo.com/index2.php無法訪問,而https://www.demo.com/index2.html能訪問
我的伺服器的設定是 lanmp的,nginx代理到apache去
nginx-1.10.2
#apache2.4
#nginx是不是有什麼配置上的錯誤?我查了很多訊息,有說是http2的原因也有說是ssl的原因。
[補充]
#我apache和nginx都有log,這是涉及的網站的部分log
#apache: 所有請求都是200 (用的iphone的safari)
#nginx:也都是200
#
我想大声告诉你2017-05-31 10:36:34
[找了將近半天,最後終於解決了]
問題的原因:nginx中proxy的設定問題導致HTTP2請求無法正確拿到response。
這是nginx代理到apache的問題。 nginx1.9+.x/apache2.4的代理人都有這個問題。
解決方法就是設定 nginx proxy:
proxy_hide_header Upgrade;
這個問題在nginx看到的討論:https://trac.nginx.org/nginx/...
【"Upgrade" header should not be proxied over h2】