thời gian chờ kết nối nginx và sự cố kết nối máy khách


21

Tôi có máy chủ nginx này chạy trên AWS và nó hoạt động tốt cho đến gần đây khi một vài người dùng bắt đầu phàn nàn về việc trang web không mở cho đến khi họ thực hiện 10 lần thử truy cập.

Tôi không bao giờ có thể repro vấn đề từ phía tôi. Tôi đang sử dụng dns của google tức là 8.8.8.8 và khi tôi thay đổi tương tự đối với một trong những người dùng, trang web đã hoạt động tốt. Bây giờ đây có thể là lý do hoặc đây cũng có thể chỉ là một sự trùng hợp ngẫu nhiên.

Tôi tìm thấy điều này trong nhật ký lỗi -

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

Và một số nơi thậm chí này -

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

Lưu ý- Đã đặt xx.xxx.xxx.xx cho IP clien't

Đây là cấu hình 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 ...
}

Tôi thực sự sẽ đánh giá cao bất kỳ sự giúp đỡ.

Cảm ơn


1
Đây có thể là một vấn đề với kết nối của nhà phát triển với máy chủ, không phải máy chủ. Vì bạn không thể tạo lại sự cố và chính máy chủ đang đăng ký thời gian chờ kết nối máy khách, chúng tôi cần nghi ngờ nhà phát triển có thể đứng sau tường lửa và họ có vấn đề về mạng nội bộ gây ra sự cố này.
Andrew S

Bạn có thể thử vô hiệu hóa Keep-Alive giống như một bài kiểm tra cho vấn đề này. Tôi không chắc lưu lượng truy cập vào máy chủ web của bạn nhưng Keep-Alive có thể khiến bạn đạt giới hạn đồng thời trong cấu hình nginx của bạn. Dưới đây là thông tin thêm: nginx.com/blog/http-keepalives-and-web-performance
Alfonso

1
@NitishDhar Bạn có giải quyết được vấn đề này không? Tôi cũng đang đối mặt với vấn đề tương tự và chỉ biết không biết gì. Sẽ vui mừng nếu bạn có thể chia sẻ giải pháp.
Ethan Collins

2
Câu hỏi: máy chủ đằng sau bộ cân bằng tải hay tường lửa? NAT có liên quan không? Có một đường hầm nào giữa máy chủ và Internet không? Lý do tôi hỏi là điều này nghe có vẻ giống như sự việc xảy ra khi có một đường hầm ở đâu đó trên đường dẫn và ai đó đã chặn tất cả ICMP, phá vỡ khám phá Path MTU.
GeorgeB

Ngoài ra, đầu ra của cat / Proc / sys / net / ipv4 / tcp_mtu_probing
GeorgeB

Câu trả lời:


6

Dựa trên nhật ký bạn cung cấp từ Nginx, có vẻ như các kết nối giữa máy chủ của bạn và người dùng không ổn định hoặc chậm. Vui lòng thử tracerouteđịa chỉ IP của khách hàng hoặc cổng của anh ấy / cô ấy từ máy chủ của bạn. Ngoài ra, pingđịa chỉ IP khách hàng của bạn trong một thời gian dài để xem tốc độ mất gói và thời gian phản hồi. MTU có thể là một nguồn khác của vấn đề này. Kiểm tra xem bạn có thể tiếp cận khách hàng của mình với MTU = 1500 (Mac ping -D -s 1472 xx.xx.xx.xx:).

BTW: Nếu máy chủ hoặc máy khách của bạn cư trú tại Trung Quốc, vấn đề này thường không phải là lỗi của bạn. GFW được biết là loại bỏ ngẫu nhiên các gói giữa biên giới để cố tình làm cho chất lượng kết nối quốc tế trở nên tồi tệ hơn.


fyi, GFW = Bức tường lửa vĩ đại của Trung Quốc.
Roshan

0

Như đã suy đoán trong bình luận đó, đó có thể là lỗi người dùng và họ đang đóng kết nối (dù cố ý hay không). Cố gắng tái tạo vấn đề một cách đáng tin cậy. Loại trừ nó xảy ra ở nơi khác và nếu chỉ có vị trí đó, họ sẽ cần khắc phục sự cố ở phía cuối của họ. Hãy thử từ các trình duyệt / máy tính khác nhau và sau đó kiểm tra độ tin cậy của mạng.


0

Các mục nhật ký này trông tương tự như các mục hiển thị khi tôi sử dụng các công cụ như OpenVAS để quét máy chủ. Những công cụ này tạo ra các kết nối xấu, đi chậm hoặc hoạt động kém; nginx chỉ báo cáo rằng một số kết nối không hoạt động tốt. Nếu tất cả lưu lượng truy cập đến từ cùng một nguồn và nhanh chóng và không có các yêu cầu hợp pháp khác để khớp với nhật ký truy cập thì đó có thể chỉ là một loại máy quét bot.

Các máy quét này cũng có thể khiến ứng dụng của bạn bị tải, điều này có thể làm chậm nó đối với lưu lượng truy cập hợp pháp khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.