suchen

Heim  >  Fragen und Antworten  >  Hauptteil

nginx – Apple-Geräte können nicht auf PHP-Seiten zugreifen, aber auf statische HTML-Ressourcen

[Ursprüngliche Frage: iOS-API-Link hält Timeout aufrecht]

Ich bin API-Entwickler und beim Online-Testen der API gibt es keine Probleme.

Aber der Entwickler auf der IOS-Seite hat einen Fehler gemeldet, der besagt, dass die NSURLCONNECTION-Anfrage aufgrund einer Zeitüberschreitung keine Antwort erhalten konnte.

Und er kann eine Antwort erhalten, wenn er andere https-restAPIs anfordert.

Entschuldigung: Ist dieses Problem ein Serverproblem oder ein IOS-Entwicklerproblem?

[Zusätzliche Erklärung]

Ich habe noch einmal nachgesehen und festgestellt, dass Safari diese Website nicht öffnen konnte, Chrome jedoch schon.

Ich kann den Server anpingen, was ist der Grund?

[Zusätzliche Erklärung]

Neuestes entdecktes Problem:
Auf https://www.demo.com/index2.php kann nicht zugegriffen werden, aber auf https://www.demo.com/index2.html kann zugegriffen werden

Meine Serverkonfiguration ist LANMP, Nginx-Proxy für Apache

Gibt es einen Konfigurationsfehler in Nginx? Ich habe viele Informationen überprüft, einige sagten, es sei durch http2 verursacht worden, andere sagten, es sei durch SSL verursacht worden.

[Ergänzung]

Ich habe sowohl Apache- als auch Nginx-Protokolle. Dies ist Teil des Protokolls der betreffenden Website

Apache: Alle Anfragen sind 200 (mit iPhone Safari)

nginx: Es sind auch 200

大家讲道理大家讲道理2735 Tage vor768

Antworte allen(2)Ich werde antworten

  • 我想大声告诉你

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

    Antwort
    0
  • 漂亮男人

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

    不用把证书给iOS的 除非你的https是给钱验证那种,
    另外如果其他端可以的话,一般不是服务端问题。
    但是我觉得是你tomcat配置的有问题,

    Antwort
    0
  • StornierenAntwort