[Soalan asal: pautan ios api terus tamat masa]
Saya seorang pembangun API, dan tiada masalah semasa menguji API dalam talian.
Tetapi pembangun di sebelah IOS melaporkan ralat mengatakan bahawa permintaan NSURLCONNECTION tidak boleh mendapat respons kerana ia tamat masa.
Dan dia boleh mendapat respons apabila dia meminta https restAPI lain.
Maafkan saya: Adakah masalah ini masalah pelayan atau masalah pembangun IOS?
[Penjelasan tambahan]
Saya menyemak sekali lagi dan mendapati Safari tidak dapat membuka tapak web ini, tetapi Chrome boleh.
Saya boleh ping pelayan, apa sebabnya?
[Penjelasan tambahan]
Masalah terbaharu ditemui:
https://www.demo.com/index2.php tidak boleh diakses, tetapi https://www.demo.com/index2.html boleh diakses
Konfigurasi pelayan saya ialah lanmp, proksi nginx kepada apache
nginx-1.10.2
apache2.4
Adakah terdapat sebarang ralat konfigurasi dalam nginx? Saya menyemak banyak maklumat, ada yang mengatakan ia disebabkan oleh http2 dan ada yang mengatakan ia disebabkan oleh ssl.
[Supplement]
Saya mempunyai log apache dan nginx Ini adalah sebahagian daripada log laman web yang terlibat
apache: Semua permintaan adalah 200 (menggunakan safari iPhone)
nginx: Ia juga 200
[Selepas mencari hampir setengah hari, akhirnya saya jumpa penyelesaiannya]
Punca masalah: Masalah konfigurasi proksi dalam nginx menyebabkan permintaan HTTP2 tidak mendapat respons dengan betul.
Ini adalah masalah dengan proksi nginx ke apache. Proksi nginx1.9+.x/apache2.4 semuanya mempunyai masalah ini.
Penyelesaian adalah untuk mengkonfigurasi proksi nginx:
proxy_hide_header Naik taraf;
Isu ini dibincangkan di nginx: https://trac.nginx.org/nginx/...
【Pengepala "Naik taraf" tidak boleh diproksi ke atas h2】
Tidak perlu memberikan sijil kepada iOS melainkan https anda adalah jenis yang memerlukan pembayaran untuk pengesahan
Selain itu, jika terminal lain boleh melakukannya, ia secara amnya bukan masalah bahagian pelayan.
Tetapi saya rasa ada yang tidak kena dengan konfigurasi kucing jantan anda,