Perché i siti abilitati SSL non rispondono in base al record del file "host"?

0

Stavo giocando con il file hosts sotto la mia distro linux. Aggiunta una voce

 192.168.3.121   www.facebook.com    

nel file / etc / hosts. Crea 2 server che si collegano a un file index.html alle porte 80 e 443. Ora quando provo ad accedere a www.facebook.com tramite firefox o chrome, ottengo gli errori seguenti.

Anchesuilogdelserver192.168.3.121,ricevoalcunestringheesadecimalidalbrowser

192.168.3.121--[11/Jul/201614:30:55]code400,messageBadrequestsyntax('\x16\x03\x01\x00\xb9\x01\x00\x00\xb5\x03\x030_x\xe6\x13\xa5x\xe4\xcdHQ\x9d\x8c\xcd\xe9\x9co\xa0LpO\x81}\xad\x1b}"\x83\xceM\x98\xdd\x00\x00\x16\xc0+\xc0/\xc0')

Mentre provo con un sito Web che non utilizza SSL, posso reindirizzare correttamente i browser al mio sito web di casa su 192.168.3.121. Che sicurezza interna stanno implementando i browser e c'è un modo in cui posso far sì che i browser reindirizzino un sito Web https al mio IP 192.168.3.121?

    
posta harveyD 14.07.2016 - 13:17
fonte

2 risposte

4

Il messaggio di errore indica che il server si aspettava una richiesta HTTP ma ha ricevuto una richiesta HTTPS: \x16\x03\x01\ è l'inizio di un record TLS. Questo probabilmente significa che la configurazione del tuo server è sbagliata, cioè che il server si aspetta HTTP sulla porta 443 e non su HTTPS.

    
risposta data 14.07.2016 - 14:18
fonte
0
  1. Genera un certificato autofirmato composto da un certificato e una chiave privata per il server. Il comando usato è

    openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
    
  2. Crea un file index.html.

  3. Avvia un server https python utilizzando il codice seguente nella stessa directory in cui si trova il file index.html.

    import BaseHTTPServer, SimpleHTTPServer
    import ssl
    
    httpd = BaseHTTPServer.HTTPServer(('192.168.3.121', 443), SimpleHTTPServer.SimpleHTTPRequestHandler)
    httpd.socket = ssl.wrap_socket (httpd.socket, certfile='path/to/192.168.3.121.pem', server_side=True)
    httpd.serve_forever()
    
  4. Riavvia il browser ed effettua la richiesta.

  5. Non dimenticare di modificare il file hosts di conseguenza.

  6. Refs #       link       link

risposta data 14.07.2016 - 14:30
fonte