batas waktu koneksi nginx & masalah koneksi tertutup klien

21

Saya memiliki server nginx ini berjalan di AWS & itu berfungsi dengan baik sampai baru-baru ini ketika beberapa pengguna mulai mengeluh tentang situs web tidak membuka sampai mereka melakukan 10 upaya untuk mengaksesnya.

Saya tidak pernah bisa menegur masalah dari sisi saya. Saya menggunakan dns google yaitu 8.8.8.8 & ketika saya mengubah yang sama untuk salah satu pengguna, situs itu berfungsi dengan baik. Sekarang ini bisa menjadi alasan atau ini hanya kebetulan juga.

Saya menemukan ini di log kesalahan -

2014/05/29 13:46:15 [info] 6940#0: *150649 client timed out (110: Connection timed out) while waiting for request, client: xx.xxx.xxx.xx, server: 0.0.0.0:80
2014/05/29 13:46:20 [info] 6940#0: *150670 client closed connection while waiting for request, client: xx.xxx.xxx.xx, server: 0.0.0.0:80
2014/05/29 13:46:20 [info] 6940#0: *150653 client closed connection while waiting for request, client: xx.xxx.xxx.xx, server: 0.0.0.0:80
2014/05/29 13:46:20 [info] 6940#0: *150652 client closed connection while waiting for request, client: xx.xxx.xxx.xx, server: 0.0.0.0:80

Dan beberapa tempat bahkan ini -

2014/05/29 13:46:53 [info] 6940#0: *150665 client closed connection while waiting for request, client: xx.xxx.xxx.xx, server: 0.0.0.0:80
2014/05/29 13:46:53 [info] 6940#0: *150660 client xx.xxx.xxx.xx closed keepalive connection

Catatan- Telah menempatkan xx.xxx.xxx.xx untuk IP clin't

Berikut adalah konfigurasi nginx -

server {
    listen       80;
    server_name  somedomain.com  www.somedomain.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    root        /var/www/somedomain/current/app/webroot;
    index       index.php index.html index.htm;

    ... couple of location rules ...
}

Saya sangat menghargai setiap bantuan.

Terima kasih

Nitish Dhar
sumber
1
Ini bisa menjadi masalah dengan koneksi pengembang ke server, bukan server. Karena Anda tidak dapat membuat kembali masalah dan server itu sendiri mendaftarkan batas waktu koneksi klien, kami perlu mencurigai pengembang mungkin berada di belakang firewall dan mereka memiliki masalah jaringan internal yang menyebabkan hal ini.
Andrew S
Anda dapat mencoba menonaktifkan Keep-Alive hanya sebagai ujian untuk masalah ini. Saya tidak yakin lalu lintas mengenai server web Anda, tetapi Keep-Alive dapat menyebabkan Anda mencapai batas concurrency di konfigurasi nginx Anda. Berikut ini info lebih lanjut: nginx.com/blog/http-keepalives-and-web-performance
Alfonso
1
@NitishDhar Apakah Anda bisa menyelesaikan masalah ini? Saya juga menghadapi masalah yang sama dan tidak tahu apa-apa. Akan senang jika Anda dapat membagikan solusinya.
Ethan Collins
2
Pertanyaan: apakah server di belakang load balancer atau firewall? Apakah NAT terlibat? Apakah ada semacam terowongan antara server dan Internet? Alasan saya bertanya adalah bahwa ini terdengar seperti hal yang terjadi ketika ada terowongan di suatu tempat di jalan dan seseorang telah memblokir semua ICMP yang merusak penemuan Path MTU.
GeorgeB
Juga, apa output dari cat / proc / sys / net / ipv4 / tcp_mtu_probing
GeorgeB

Jawaban:

6

Berdasarkan log yang Anda berikan dari Nginx, tampaknya koneksi antara server Anda dan pengguna tidak stabil atau lambat. Silakan coba tracerouteke alamat IP klien Anda atau gateway-nya dari server Anda. Juga, pingalamat IP klien Anda untuk waktu yang lama untuk melihat tingkat kehilangan paket dan waktu respons. MTU mungkin menjadi sumber masalah ini. Uji apakah Anda dapat menjangkau klien Anda dengan MTU = 1500 (Mac:) ping -D -s 1472 xx.xx.xx.xx.

BTW: Jika server atau klien Anda berada di China, masalah ini biasanya bukan kesalahan Anda. GFW dikenal untuk secara acak membuang paket antar perbatasan untuk secara sengaja memperburuk kualitas koneksi internasional.

Lingfeng Xiong
sumber
fyi, GFW = Great Firewall of China.
Roshan
0

Seperti berspekulasi dalam komentar itu, kemungkinan kesalahan pengguna dan mereka menutup koneksi (baik sengaja atau tidak). Cobalah untuk mereproduksi masalah dengan andal. Singkirkan itu terjadi di tempat lain dan jika itu hanya lokasi itu, mereka harus memecahkan masalah pada akhirnya. Coba dari browser / komputer yang berbeda dan kemudian uji reliabilitas jaringan.

Peter
sumber
0

Entri log ini terlihat mirip dengan entri yang muncul ketika saya menggunakan alat seperti OpenVAS untuk memindai server. Alat-alat ini membuat koneksi buruk, lambat atau beroperasi buruk; nginx baru saja melaporkan bahwa beberapa koneksi tidak berfungsi dengan baik. Jika semua lalu lintas berasal dari sumber yang sama, dan cepat dan tidak memiliki permintaan sah lainnya untuk dicocokkan dalam log akses, itu mungkin hanya semacam bot-scanner.

Pemindai ini juga dapat menempatkan aplikasi Anda di bawah beban yang dapat membuatnya lambat untuk lalu lintas yang sah lainnya.

edoceo
sumber