Ich kann mich nach der Installation des SSL-Zertifikats auf dem Nginx-Server nicht bei meiner Knotenanwendung anmelden

Ich kann mich nach der Installation des SSL-Zertifikats auf dem Nginx-Server nicht bei meiner Knotenanwendung anmelden

Ich habe eine Node-Anwendung, deren Front-End auf einem Nginx-HTTP-Webserver und das Back-End (molekulare Mikrodienste) auf einem Node-Server bereitgestellt ist, beide auf einer AWS EC2-Linux-VM. Die Anwendungs-URL ist im Wesentlichen dieser Linux-Server-Hostname oder diese öffentliche IPv4-Adresse (http://hostname:80 oder http://ipv4:8080). Da diese URL jedoch unsicher war, dachte ich daran, sie mit SSL zu sichern. Um dies tun zu können, kaufte ich einen Domänennamen von cloudns.net und verwies ihn zurück auf die öffentliche IPv4-Adresse meiner EC2-Instanz. Jetzt habe ich ein SSL-Zertifikat auf dem Nginx-Server mit certbot und letsencrpt.org installiert. Meine Anmeldeseite enthält jetzt https und das SSL-Zertifikat wird korrekt angezeigt (https://host.meingekaufterDomänenname). Wenn ich jetzt versuche, mich mit Anmeldeinformationen bei meiner Anwendung anzumelden, kann ich mich nicht anmelden und bei der Überprüfung mit den Prüfelementen (ich verwende Chrome) gibt die Anforderungs-URL nichts zurück und der Fehler lautet ERR_CONNECTION_CLOSED. Diese Anforderungs-URL ist eine Post-Methode, die die Anforderung über Port 8082 stellt. Die Anforderungs-URL sieht folgendermaßen aus: https://hostname:8082/v1/auth/signin. Erwähnenswert ist hier auch, dass vor der Installation von SSL an die Endpunkt-URL der Anwendung die Portnummer 80, 8080 angehängt werden konnte und beim Eingeben schließlich nur noch der Hostname (http://hostname/signin?) wurde. Nach der SSL-Installation wird jedoch ein Fehler ausgegeben, wenn ich irgendetwas an die https-URL anhänge (wie https://mypurchasedhostname:8080): Die Site kann nicht erreicht werden und anscheinend passiert dasselbe mit der Anforderungs-URL für die Anmeldung. Allerdings werden diese Ports (80,8080), wenn sie mit http://hostname angegeben werden, letztendlich zu https://hostname/somewelcometext und die Anmeldeseite wird geöffnet.

Ich bin nicht sicher, ob es sich um ein Serverkonfigurationsproblem handelt oder ob auch im Backend etwas geändert werden muss. Bitte beachten Sie, dass die URL meiner Anmeldeanforderung zuvor http enthielt, was ich im Backend in https geändert habe, um Fehler beim Mischen von Inhalten zu vermeiden. Nachfolgend finden Sie dienginx.confDatei vor und nach dem Hinzufügen der SSL-Konfiguration.

KEIN SSL:

sudo vim /etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

  #Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

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

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

     server {
        listen       80 default_server;
        listen       8080 default_server;
        server_name  mypurchasedhostname;
        root         /usr/share/nginx/html;
        index        index.html;



        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            try_files $uri $uri/ /index.html;
            add_header Cache-Control 'no-cache';
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }}

Mit SSL:

sudo vim /etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

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

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

     server {
        listen       80 default_server;
        listen       8080 default_server;
        server_name  mypurchasedhostname;
       # root         /usr/share/nginx/html;
       # index        index.html;
       return 301 https://$host$request_uri;

    }


#SSL settings

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name  mypurchasedhostname;
    root         /usr/share/nginx/html;
    index        index.html;

    ssl_certificate /etc/letsencrypt/live/mypurchasedhostname/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mypurchasedhostname/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam
    # ssl_dhparam /path/to/dhparam;

    # intermediate configuration
    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    # ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # replace with the IP address of your resolver
    resolver 8.8.8.8;
    # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        location / {
            try_files $uri $uri/ /index.html;
            add_header Cache-Control 'no-cache';
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

}

}

verwandte Informationen