Nginx случайным образом отказывается от соединений SSL

Я выполняю веб-сайт https://telerandom.com (сервер NodeJS, порт 9576) позади обратного прокси Nginx. Это обычно работает, но при случае, это начинает отказываться от всех соединений SSL от определенных пользователей (при работе совершенно нормальный на всех остальных).

Этот период отказа от соединений SSL обычно длится в течение приблизительно 45 минут, и затем вещи возвращаются к нормальному. Я заметил, что устройства в той же сети (например, мой ноутбук и мой телефон в той же сети WiFi) испытывают эти отключения электричества одновременно. Однако, если я должен был разъединить свой телефон от WiFi и использовать сотовые данные, это может обычно соединяться с веб-сайтом.

И порт 80 и 443 открыт на сервере. Я получаю эти сообщения в своем журнале ошибок, когда соединению отказывают:

2015/07/24 20:36:19 [debug] 1695#0: *92 post event 0000000002327BB0
2015/07/24 20:36:19 [debug] 1695#0: *92 post event 000000000233B3C0
2015/07/24 20:36:19 [debug] 1695#0: *92 delete posted event 000000000233B3C0
2015/07/24 20:36:19 [debug] 1695#0: *92 http run request: "/socket.io/?EIO=3&transport=websocket&sid=_32mgWR6o50vOl7pAAAC"
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream process upgraded, fu:1
2015/07/24 20:36:19 [debug] 1695#0: *92 event timer del: 20: 1437784644303
2015/07/24 20:36:19 [debug] 1695#0: *92 event timer add: 20: 90000:1437784669313
2015/07/24 20:36:19 [debug] 1695#0: *92 delete posted event 0000000002327BB0
2015/07/24 20:36:19 [debug] 1695#0: *92 http run request: "/socket.io/?EIO=3&transport=websocket&sid=_32mgWR6o50vOl7pAAAC"
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream process upgraded, fu:0
2015/07/24 20:36:19 [debug] 1695#0: *92 SSL_read: 7
2015/07/24 20:36:19 [debug] 1695#0: *92 SSL_read: -1
2015/07/24 20:36:19 [debug] 1695#0: *92 SSL_get_error: 2
2015/07/24 20:36:19 [debug] 1695#0: *92 send: fd:20 7 of 7
2015/07/24 20:36:19 [debug] 1695#0: *92 event timer: 20, old: 1437784669313, new: 1437784669313
2015/07/24 20:36:19 [debug] 1695#0: *92 post event 0000000002327AE0
2015/07/24 20:36:19 [debug] 1695#0: *92 post event 000000000233B2F0
2015/07/24 20:36:19 [debug] 1695#0: *92 delete posted event 000000000233B2F0
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream request: "/socket.io/?EIO=3&transport=websocket&sid=_32mgWR6o50vOl7pAAAC"
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream process upgraded, fu:0
2015/07/24 20:36:19 [debug] 1695#0: *92 event timer del: 20: 1437784669313
2015/07/24 20:36:19 [debug] 1695#0: *92 delete posted event 0000000002327AE0
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream request: "/socket.io/?EIO=3&transport=websocket&sid=_32mgWR6o50vOl7pAAAC"
2015/07/24 20:36:19 [debug] 1695#0: *92 http upstream process upgraded, fu:1
2015/07/24 20:36:19 [debug] 1695#0: *92 recv: fd:20 3 of 4096
2015/07/24 20:36:19 [debug] 1695#0: *92 SSL to write: 3
2015/07/24 20:36:19 [debug] 1695#0: *92 SSL_write: 3
2015/07/24 20:36:19 [debug] 1695#0: *92 recv: fd:20 -1 of 4096
2015/07/24 20:36:19 [debug] 1695#0: *92 recv() not ready (11: Resource temporarily unavailable)
2015/07/24 20:36:19 [debug] 1695#0: *92 event timer add: 20: 90000:1437784669313

И вот мой конфигурационный файл

server {
    listen 80;
    server_name telerandom.com;

    return 301 https://$host$request_uri;
}

server {

    listen 443;
    server_name telerandom.com;

    ssl_certificate           /etc/nginx/ssl/telerandom/cert.crt;
    ssl_certificate_key       /etc/nginx/ssl/telerandom/cert.key;
    ssl on;

    access_log            /var/log/nginx/telerandom.com.access.log;
    error_log             /var/log/nginx/telerandom.com.error.log debug;

    location / {

      proxy_http_version      1.1;
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "upgrade";

      # Fix the "It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://127.0.0.1:9576;
      proxy_read_timeout  90;

      proxy_redirect      http://127.0.0.1:9576 https://telerandom.com;
    }
}

Перезапуск Nginx и сервера не разрешает проблему, ни делает перезапуск клиентских устройств. Кроме того, это произошло в нескольких сетях (однажды, это начало происходить на сотовых данных моего телефона), и произошел с людьми кроме меня. Кроме того, в то время как проблема происходит, я могу также соединиться с так же настроенными сайтами SSL позади nginx

0
задан 25 July 2015 в 20:42
1 ответ

В журнале сервера нет ничего особенного, что указывает на проблему на сайте nginx. Но ваше описание ясно указывает на проблему в сети клиентов, т.е.

  • затрагиваются только клиенты в той же сети
  • затрагиваются все клиенты в одной сети
  • , если клиент подключается к другой сети, испытывая проблему, проблема больше не возникает

Это может быть просто проблема с надежностью вашей клиентской сети. Поскольку вы говорите о Wi-Fi, это может быть какое-то вмешательство со стороны какого-то сломанного электронного устройства (микроволновая печь, пылесос и т. Д.) И должно влиять не только на SSL-соединения с этим отдельным сервером, но и на другие соединения, то есть по крайней мере сделать их медленными или ненадежными. Конечно, это также может быть злоумышленник в сети, переполнение Wi-Fi из-за того, что кто-то передает большое количество данных (задание резервного копирования?) И т. Д. Но я уверен, что это не связано с вашей настройкой nginx.

3
ответ дан 4 December 2019 в 12:26

Теги

Похожие вопросы