It is currently 9 June 2025, 8:15 Advanced search

Chiamate web da foundation

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Chiamate web da foundation

Postby d.termini » 16 July 2020, 7:38

Ho un'applicazione Foundation C# .net2.0 che effettua delle chiamate GetHTTP verso un'app Cloud.
Fino al 7 luglio funzionava correttamente, ripresa in mano ieri non riesco più a fare chiamate e mi restituisce "Connessione sottostante chiusa: Errore imprevisto durante un'operazione di invio."

Allora ho provato su un progetto di esempio, e lo fa anche lì.
Ho quindi cambiato la versione .net a 4.x e aggiunto il parametro per usare TLS1.2 e... funziona correttamente.

Mi sarei aspettato questo messaggio: Connessione sottostante chiusa: Impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS.

Non è che con l'ultimo aggiornamento del 9 luglio è stato disattivato il supporto a TLS 1.x?
Nelle note di rilascio di 20.5 non è specificato.
d.termini
 
Posts: 1657
Joined: 13 November 2017, 8:41

Re: Chiamate web da foundation

Postby lucabaldini » 17 July 2020, 6:43

Il rilascio di Instant Developer Cloud è stato fatto lunedì 13 luglio.
Tu hai già aggiornato alla 20.5 sul tuo server IDE, hai ripubblicato e hai aggiornato il tuo server PROD alla 20.5?

E solo dopo quell'aggiornamento il sistema non funziona più?

Nel tuo messaggio parli del 7 e 9 luglio, ma in quei giorni non è stato fatto nulla, né su Cloud né su Foundation.

Comunque la versione 20.0 di Cloud usava express (web server, l'analogo di IIS/Tomcat) in versione 4.16.4, mentre la versione 20.5 usa 4.17.1.
Come puoi leggere anche tu dalle loro note di rilascio (http://expressjs.com/en/changelog/4x.html ) non mi sembra di vedere variazioni.

Inoltre l'inizializzazione del server HTTPS di Cloud non è cambiata ed è ancora la stessa che ci hanno consigliato gli Hacker etici a cui ci siamo rivolti per fare analisi sulla sicurezza.

Forse un aggiornamento di .NET? Forse è cambiato qualcosa lungo la catena (magari un router, un proxy, ...)
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Chiamate web da foundation

Postby lucabaldini » 17 July 2020, 6:45

Altra domanda: potresti scrivere esattamente quali versioni di Cloud e Foundation stai usando? O meglio: stavi (dato che hai parlato di aggiornamento) e stai usando?

Tieni conto che, a meno che su Cloud a meno che tu non installi aggiornamenti, nulla cambia. Lo stesso per Foundation (a meno di fix; l'ultima è stata rilasciata il 3 giugno 2020).
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Chiamate web da foundation

Postby d.termini » 17 July 2020, 7:47

Ciao Luca,

riguardo al rilascio non so dove ho letto il 9, era effettivamente il 13...

il 7 luglio ho fatto le ultime prove con l'app Foundation 19.5 in .net 2.0 e tutto funzionava correttamente.

il 15 luglio ho apportato una modifica su Cloud (semplicemente un dato passato nella richiesta) e ho ripubblicato l'app Cloud versione 20.0 ho fatto una prova eseguendo l'app Foundation e non ricevevo neanche la chiamata. Guardando in debug Foundation ho letto il messaggio dell'errore imprevisto.
Ho quindi fatto delle prove con postman e funzionava correttamente.

Allora ho pensato di aggiornare Cloud a 20.5, anche perché mi dovrebbero tornare utili alcune novità introdotte.
Rifatto la prova con l'app Foundation e non cambiava niente, con postman tutto ok.

Controllato e ricontrollato più volte i parametri di getHttp facendo varie richieste anche semplicemente in GET verso le app Cloud mi restituiva sempre lo stesso errore, mentre chiedendo la pagina di google funzionava, giusto per vedere che non fosse un problema dell'app Foundation.

Con un'applicazione di esempio (Foundation 19.5) ho replicato l'errore con le richieste verso Cloud, ma essendo compilata di default in .net 4.x mi ha dato il messaggio "Impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS." e lì ho capito che probabilmente dovevo specificare il parametro ID_USETLS1.2, che nella documentazione è indicato per l'uso con .net 4.x ma pare funzionare anche con 2.0 (non vorrei che sia un caso), ricompilandola in .net 2.0 ho ottenuto lo stesso errore imprevisto di prima.
d.termini
 
Posts: 1657
Joined: 13 November 2017, 8:41

Re: Chiamate web da foundation

Postby lucabaldini » 17 July 2020, 10:39

Non saprei proprio... se ho letto bene quello che hai scritto il problema si è manifestato il 15 luglio dopo la ri-pubblicazione dell'app in 20.0. Non avevi fatto nulla sull'app foundation, e hai solo ripubblicato l'app con la 20.0 di Cloud (l'app era già in 20.0 Cloud).

Cosa sia cambiato nel frattempo non saprei proprio. Lo strato di comunicazione non è parte dell'app... quindi ripubblicare l'app non può causare problemi legati a TLS o altro... quello strato è nella parte server... che non è cambiata e non viene toccata dalla ri-pubblicazione di un'applicazione.

Riguardo la parte foundation non saprei... funzionava ed ha smesso di funzionare solo quando hai ripubblicato l'app Cloud...

Non saprei proprio cosa succede...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Chiamate web da foundation

Postby d.termini » 17 July 2020, 12:21

lucabaldini wrote:Non saprei proprio cosa succede...

Ci ho messo anche io qualche ora per capire che non si connetteva in https (e Cloud funziona solo in https, da sempre) e per capirlo ho dovuto fare un'app di test in .net 4.0 per ricevere il messaggio di errore corretto.
Secondo me c'è qualcosa che coincide col termine del supporto di TLS 1.1 al 15 giugno più o meno, magari anche a livello di sistema operativo hanno dato 1 mese di grace period e quindi "casualmente" il 15 luglio non ha più funzionato.
Impostando TLS 1.2 infatti funziona, è solo da capire se il parametro ID_USETLS1.2 è valido anche per .net 2.0 e non sia un caso che mi funzioni, visto che nella guida parla di .net 4.x.
d.termini
 
Posts: 1657
Joined: 13 November 2017, 8:41

Re: Chiamate web da foundation

Postby lucabaldini » 17 July 2020, 12:38

Quel parametro imposta il valore 3072 alla proprietà System.Net.ServicePointManager.SecurityProtocol.

La classe ServicePointManager e la proprietà SecurityProtocol sono lì dalla 2.0 (forse da prima)... ma il valore 3072 non è tra quelli disponibili se si usa .NET 2.0... Quindi sarei portato a pensare che funzioni solo con .NET 4.0... ma non ne sono sicuro...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Chiamate web da foundation

Postby lucabaldini » 17 July 2020, 12:39

Mi correggo: cercando su internet ho trovato questo:

https://stackoverflow.com/questions/44134520/securityprotocol-tls-1-2-in-net-2-0

Il tipo dice "No - as you suspected, it is only working because you have .NET 4.5 installed as well."... Quindi funziona solo perché hai .NET 4 installato...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: Chiamate web da foundation

Postby d.termini » 17 July 2020, 12:57

Ottimo, buono a sapersi

Non so se tenere aperta l'assistenza per vedere di replicarlo assieme oppure chiuderla e valutare un passaggio a .net 4.x
d.termini
 
Posts: 1657
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 13 guests