Stel 'n tydsbeperking vir 'n Apache HttpClient 5-proxy wat tydens CONNECT vasval
Stel die verbindingsbestuurder se socket-I/O-tydsbeperking vir tonnelopstelling, saam met die aparte TCP-verbindingstydsbeperking.
Die proxy het TCP aanvaar maar nooit die CONNECT-antwoord voltooi nie. Die webwerf se antwoord het nog nie begin nie; 'n tydsbeperking wat net op daardie latere antwoord gemik is, kan hierdie opstelling onbeperk laat wag.
Vir Apache HttpClient 5.3.1 stel die verbindingsbestuurder se verstekwaardes:
var connection = ConnectionConfig.custom()
.setConnectTimeout(Timeout.ofSeconds(5))
.setSocketTimeout(Timeout.ofSeconds(10))
.build();
var manager = PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultConnectionConfig(connection)
.build();
var client = HttpClients.custom()
.setConnectionManager(manager)
.setProxy(new HttpHost("http", "proxy.example", 8080))
.build();Gebruik die Apache HttpComponents 5-klasse onder org.apache.hc, met Timeout in die core5-nutspakket. Hou die kliënt vir sy werk en sluit dit. Vir 'n geïsoleerde openbare HTTP-toets lewer 'n kandidaat uit die HTTP-proxylys die eindpunt; hou die bestemming konstant wanneer jy tydsbeperkings vergelyk.
| Perk | Wagte wat aangespreek word |
|---|---|
| Verbindingstydsbeperking | Verbinding tot stand bring |
| Socket-tydsbeperking | Verstek I/O-onaktiwiteit, insluitend die CONNECT-uitruiling |
| Poelverkryging / toepassingsantwoord | Ander afsonderlik gekonfigureerde fases |
Na CONNECT kan TLS sy eie opstellingsperk nodig hê deur HttpClient 5 se TLS-konfigurasie. Onderskei ook onaktiwiteit van 'n totale spertyd: onderbroke grepe of herhaalde verifikasie-uitruilings kan die totale tyd verleng. Gebruik die toepassing se ondersteunde spertyd- of kansellasiebeleid vir een begroting vir die hele bewerking.