Sto provando a testare un server che funziona normalmente nel browser web, con l'opzione openssl s_client, collegandolo direttamente usando openssl restituisce la 400 richiesta errata:
openssl s_client -servername example.com -connect example.com:443 -tls1
(some information about the certificate)
GET / HTTP/1.1
(and the error occurs **immediately** - no time to include more headers like Host:)
Importante: ho già provato a inserire l'header Host: il fatto è che quando eseguo GET, l'errore si verifica immediatamente e non ho alcuna possibilità di includere più intestazioni. Sostituisci example.com con il mio host ...
GET /index.html ...
o potrebbe essere necessario impostare un cookie. Probabilmente dovresti provare con curl
o wget
e pubblicare la richiesta completa e la risposta, incluso l'errore. Altrimenti, devi fornire un nome server e un URL reali in modo da poter eseguire i test.
echo
:echo -e "GET / HTTP/1.1\r\nHost: example.com.br\r\n\r\n" | openssl s_client ...
. Il\r\n
è significativo perché è quello che lo standard HTTP dice di fare. Anche due coppie CRLF alla fine della richiesta sono significative perché è ciò che la norma dice di fare. Vedi anche Come installi “echo” in “openssl”?