net::ERR_SSL_PROTOCOL_ERROR

MarcoI nginx-forum at forum.nginx.org
Tue Feb 11 19:22:50 UTC 2020


Today I issued and installed SSL certificates for my website.
This is the rating assigned by https://www.ssllabs.com/ssltest/analyze.html
: 
    https://drive.google.com/open?id=1-Fb4h1dmdJ8kN68JxKROWwu4ezGmjm6R
This is the result of https://check-your-website.server-daten.de/ which
indicates "only" content problems: mixed, content, missing files, but
nothing related to SSL_PROTOCOL
    https://drive.google.com/open?id=19i-AwXwgf8tBY9p0srfHX5scN5Q0j-UH

When I connect to the local IP address, everything goes smoothly with no
errors:
 - after stopping nginx server:
https://drive.google.com/open?id=1k4hmYpgRwCW6NyhK7ZoK39-giF9MfPAY
 and
 - also after restarting nginx server:

       (base) marco at pc01:~$ sudo systemctl start nginx
      (base) marco at pc01:~$ sudo systemctl reload nginx
      (base) marco at pc01:~$ sudo systemctl status nginx
        ● nginx.service - A high performance web server and a reverse proxy
server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor
preset: en
      Active: active (running) since Tue 2020-02-11 19:06:58 CET; 10s ago
         Docs: man:nginx(8)
      Process: 6124 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry
QUIT/5 -
      Process: 8843 ExecReload=/usr/sbin/nginx -g daemon on; master_process
on; -s r
      Process: 8779 ExecStart=/usr/sbin/nginx -g daemon on; master_process
on; (code
      Process: 8770 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on;
master_process 
     Main PID: 8784 (nginx)
        Tasks: 9 (limit: 4915)
       CGroup: /system.slice/nginx.service
                     ├─8784 nginx: master process /usr/sbin/nginx -g daemon
on; master_pro
                     ├─8844 nginx: worker process
                     ├─8846 nginx: worker process
                     ├─8847 nginx: worker process
                     ├─8849 nginx: worker process
                     ├─8850 nginx: worker process
                     ├─8851 nginx: worker process
                     ├─8852 nginx: worker process
                     └─8853 nginx: worker process

     the output is fine: 
https://drive.google.com/open?id=1-Sz1udhZfrM9bGaIhImORRnwRznXihK7

But when I connect to my website's through website name I get
net::ERR_SSL_PROTOCOL_ERROR :
    https://drive.google.com/open?id=10MYySDKhPx9L-QucqzxN5NTratJEOJZR


This is my /etc/nginx/nginx.conf  :  

    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    #include /etc/nginx/modules-enabled/*.conf;

    events {
            worker_connections 768;
            # multi_accept on;
    }

    http {

            ##
            # Basic Settings
            ##

            sendfile on;
            tcp_nopush on;
            tcp_nodelay on;
            keepalive_timeout 65;
            types_hash_max_size 2048;
            # server_tokens off;

            server_names_hash_bucket_size 64;
            # server_name_in_redirect off;

            include /etc/nginx/mime.types;
            default_type application/octet-stream;

            ##
            # SSL Settings
            ##

            #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref:
POODLE
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
            ssl_prefer_server_ciphers on;

            ##
            # Logging Settings
            ##

            access_log /var/log/nginx/access.log;
            error_log /var/log/nginx/error.log;

            ##
            # Gzip Settings
            ##

            gzip on;
            # gzip_vary on;
            # gzip_proxied any;
            # gzip_comp_level 6;
            # gzip_buffers 16 8k;
            # gzip_http_version 1.1;
            # gzip_types text/plain text/css application/json
application/javascript text/xml application/xml application/xml+rss
               text/javascript;

            ##
            # Virtual Host Configs
            ##

            include /etc/nginx/conf.d/*.conf;
            #include /etc/nginx/sites-enabled/*;
    }


And this is my /etc/nginx/conf.d/default.conf   :   

    server {
        listen 443 ssl http2 default_server;
        server_name ggc.world;

        ssl_certificate /etc/letsencrypt/live/ggc.world/fullchain.pem; #
managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/ggc.world/privkey.pem; #
managed by Certbot

        ssl_trusted_certificate /etc/letsencrypt/live/ggc.world/chain.pem;

        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

        ssl_session_timeout 5m;
        #ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-
         
draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:50m;
        ssl_stapling on;
        ssl_stapling_verify on;

        access_log /var/log/nginx/ggcworld-access.log combined;

        add_header Strict-Transport-Security "max-age=31536000";
        location = /favicon.ico { access_log off; log_not_found off; }

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        error_page 497 https://$host:$server_port$request_uri;
        server_name www.ggc.world;
        return 301 https://$server_name$request_uri;

        access_log /var/log/nginx/ggcworld-access.log combined;

        add_header Strict-Transport-Security "max-age=31536000";
        location = /favicon.ico { access_log off; log_not_found off; }

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }

    upstream websocket {
        ip_hash;
        server localhost:3000;
    }

    server {
        listen 81;
        server_name ggc.world www.ggc.world;

        #location / {
        location ~ ^/(websocket|websocket\/socket-io) {
            proxy_pass http://127.0.0.1:4201;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Forwared-For $remote_addr;
            proxy_set_header Host $host;

            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }


What is going on? What might be the causes of this SSL_PROTOCOL?
How to solve it? What do I have to modify in
/etc/nginx/conf.d/default.conf?

Looking forward to your kind help.
Marco

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,286991,286991#msg-286991



More information about the nginx mailing list