The request message was malformed :: Server only speaks HTTP, not TLS

Please fill out the fields below so we can help you better.

My domain is:

I ran this command: sudo certbot --apache

It produced this output:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which names would you like to activate HTTPS for?
2: <some other domain>.fi
3: <some other domain>.fi
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):1
Starting new HTTPS connection (1):
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for
/usr/lib/python2.7/dist-packages/OpenSSL/ UserWarning: implicit cast from 'char *' to a different pointer type: will be forbidden in the future (check that the types are as you expect; use an explicit ffi.cast() if they are correct)
  result_code = _lib.RAND_bytes(result_buffer, num_bytes)
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. (tls-sni-01): urn:acme:error:malformed :: The request message was malformed :: Server only speaks HTTP, not TLS

 - The following errors were reported by the server:

   Type:   malformed
   Detail: Server only speaks HTTP, not TLS

   To fix these errors, please make sure that you did not provide any
   invalid information to the client, and try running Certbot again.

My web server is (include version): Apache 2

The operating system my web server runs on is (include version): Debian jessie on raspberry pi 3

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don’t know): absolutely

I’m using a control panel to manage my site (no, or provide the name and version of the control panel): nope

My sites-enabled/ looks like this

  <VirtualHost 80:80>
           ServerAdmin imma.gonna@hide.this
           DocumentRoot /var/www/
           ErrorLog ${APACHE_LOG_DIR}/error.log
           CustomLog ${APACHE_LOG_DIR}/access.log combined

I’ve been googling a solution all day without finding a solution. Thanks for your help!

That looks like a typo.
Should maybe be:
<VirtualHost *:80>
<VirtualHost {server.ip}:80>

That said,

tls requires port 443

1 Like

Amazing. That solved my problem.

Thanks a lot! (^^)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.