搜尋

首頁  >  問答  >  主體

nginx - 蘋果設備無法存取php頁面,但能存取html靜態資源

[原問題: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是不是有什麼配置上的錯誤?我查了很多訊息,有說是http2的原因也有說是ssl的原因。

[補充]

#我apache和nginx都有log,這是涉及的網站的部分log

#apache: 所有請求都是200 (用的iphone的safari)

#nginx:也都是200

#
大家讲道理大家讲道理2776 天前794

全部回覆(2)我來回復

  • 我想大声告诉你

    我想大声告诉你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】

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-31 10:36:34

    不用把憑證給iOS的 除非你的https是給錢驗證那種,
    另外如果其他端可以的話,一般不是服務端問題。
    但是我覺得是你tomcat配置的有問題,

    回覆
    0
  • 取消回覆