Limit czasu aktywności nie jest przestrzegany w Amazon ELB


9

Używam Tomcat 6.0.24 na Ubuntu (JDK 1.6) z aplikacją, która wykonuje żądania w stylu Comet na złączu HTTPS (bezpośrednio przeciwko Tomcat, nie używając APR).

Chciałbym ustawić utrzymanie przy życiu na 5 minut, aby nie musiałem odświeżać połączeń z długim odpytywaniem. Oto moja konfiguracja:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="1000"  keepAliveTimeout="330000"
        scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />

Niestety wydaje się, że serwer zamyka połączenie po 65 sekundach. Plik pcap z przykładowej sesji wygląda mniej więcej tak:

T=0   Client sends SYN to server, handshake etc.
T=65  Server sends FIN to client
T=307 Client sends FIN to server

(Zgaduję, że 5-minutowy limit czasu na kliencie wynika z faktu, że biblioteka HTTP nie wykrywa gniazda zamkniętego na końcu serwera, ale w każdym razie - serwer nie powinien tak wcześnie zamykać połączenia)

(edycja: działa zgodnie z oczekiwaniami przy użyciu standardowego konektora HTTP)

Odpowiedzi:


13

ELB Amazon (Elastic Load Balancer) ma nieudokumentowane ( z wyjątkiem forów ) 60-sekundowe przekroczenie limitu czasu, które zerwie połączenie, jeśli nie zostaną przesłane żadne dane. Hakowanie przez wysyłanie białych znaków co 55 sekund wydaje się działać, dopóki nie skonfigurują tej opcji.


(Upłynął limit czasu, BTW .. jeesh)
sehugg

nadal nie można go skonfigurować ... jest to
nierozwiązany


10

Limit czasu modułu równoważenia obciążenia, który zamyka połączenie, jest teraz udokumentowany :

Aby skonfigurować ustawienie limitu czasu bezczynności dla modułu równoważenia obciążenia

  1. Otwórz konsolę Amazon EC2 na stronie https://console.aws.amazon.com/ec2/ .
  2. W okienku nawigacji, w obszarze ŁADOWANIE RÓWNOWAŻENIA , kliknij Load Balancers .
  3. Wybierz moduł równoważenia obciążenia.
  4. W dolnym okienku wybierz kartę Opis .
  5. Znajdź Ustawienia połączenia , a następnie kliknij (Edytuj) .
  6. W oknie dialogowym Konfiguruj ustawienia połączenia wprowadź wartość Limit czasu bezczynności . Zakres limitu czasu bezczynności wynosi od 1 do 3600 sekund.
  7. Kliknij Zapisz .

To powinna być teraz zaakceptowana odpowiedź.
jonatan


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.