Nginx – “SSL_ERROR_INTERNAL_ERROR_ALERT” Using Let’s Encrypt & Nginx

lets-encryptnginxsslssl-certificate

I've been running my Nginx web server for almost a week and all of the sudden, it started throwing this error (using HTTPS only) & redirecting to /defaultsite when using HTTP. The website link is https://leakkiller.com, if you want to see what happens yourself. I've tried clearing browser caches too. My doamin registrar is 1&1 (biggest mistake of my life), but I use digital ocean for VPS so I route my DNS through them. Below you can find my server block for nginx.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name leakkiller.com www.leakkiller.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:80 ssl ipv6only=on;

    ssl_certificate /etc/letsencrypt/live/leakkiller.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/leakkiller.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_stapling on;
    ssl_stapling_verify on;
    add_header Strict-Transport-Security max-age=15768000;

    resolver 8.8.8.8 8.8.4.4;

    charset UTF-8;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/index.php;
    }

    location ~ /.well-known {
        allow all;
    }

    location /phpmyadmin {
        satisfy any;
        allow 127.0.0.1;
        deny all;
        auth_basic "Authentication Required";
        auth_basic_user_file /etc/nginx/aith_basic/phpadminpass;
        index index.php;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

Best Answer

I was either being MITMed as suggested by ceejayoz or my ISP (AT&T) was having problems at the time of asking this question.