Letsencrypt error – Server only speaks HTTP, not TLS

If you have encountered following error,

Domain: xxx.xxx.com
Type: malformed
Detail: Failed to connect to xxx:443 for tls-sni-01
challenge: Server only speaks HTTP, not TLS

Make sure you have following lines in your Apache virtual host conf file

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Include /etc/letsencrypt/options-ssl-apache.conf

error: Uh oh ...