[Question originale : le lien API iOS maintient le délai d'attente]
Je suis un développeur d'API et il n'y a aucun problème lors du test de l'API en ligne.
Mais le développeur côté IOS a signalé une erreur indiquant que la requête NSURLCONNECTION ne pouvait pas obtenir de réponse car il s'agissait d'un délai d'attente.
Et il peut obtenir une réponse lorsqu'il demande d'autres API https rest.
Excusez-moi : ce problème est-il un problème de serveur ou un problème de développeur IOS ?
[Explication supplémentaire]
J'ai vérifié à nouveau et j'ai découvert que Safari ne pouvait pas ouvrir ce site Web, mais que Chrome le pouvait.
Je peux pinger le serveur, quelle en est la raison ?
[Explication supplémentaire]
Dernier problème découvert :
https://www.demo.com/index2.php n'est pas accessible, mais https://www.demo.com/index2.html est accessible
La configuration de mon serveur est lanmp, proxy nginx vers apache
nginx-1.10.2
apache2.4
Y a-t-il une erreur de configuration dans nginx ? J'ai vérifié beaucoup d'informations, certains ont dit que cela était dû à http2 et d'autres ont dit que cela était dû à SSL.
[Supplément]
J'ai des journaux Apache et Nginx. Cela fait partie du journal du site Web concerné
.apache : Toutes les requêtes sont de 200 (en utilisant iPhone Safari)
nginx : C'est aussi 200
[Après avoir cherché près d'une demi-journée, j'ai finalement résolu le problème]
Cause du problème : Le problème de configuration du proxy dans nginx empêche la requête HTTP2 d'obtenir la réponse correctement.
Il s'agit d'un problème avec le proxy nginx vers Apache. Les proxys de nginx1.9+.x/apache2.4 ont tous ce problème.
La solution est de configurer le proxy nginx :
proxy_hide_header Mise à niveau ;
Ce problème a été discuté sur nginx : https://trac.nginx.org/nginx/...
【L'en-tête "Mise à niveau" ne doit pas être proxy sur h2】
Vous n'avez pas besoin de donner le certificat à iOS sauf si votre https est du genre à payer pour la vérification,
De plus, si d'autres terminaux peuvent le faire, ce n'est généralement pas un problème côté serveur.
Mais je pense qu'il y a quelque chose qui ne va pas avec votre configuration Tomcat,