2017-11-24 1 views
0

Ich habe derzeit eine NodeJS (Koa.js)/Angular4 + -Anwendung auf einer AWS-Instanz unter Linux, die ich für die Verwendung von SSL konfigurieren muss. Ich habe ein paar Tutorials online verfolgt, das SSL-Zertifikat erstellt und versucht, das zum Laufen zu bringen und bisher hatte ich kein Glück.Einrichten von SSL auf Nginx auf AWS Ubuntu-Instanz

Lassen Sie mich Sie durchlaufen, was ich bisher getan hat:

I generiert habe das SSL-Zertifikat, und es ist in einer ssl-bundle.crt in/home/ubuntu-Verzeichnis auf der Instanz aufgerufenen Datei. Ich habe auch den Schlüssel im selben Verzeichnis.

Ich habe meine Server Block auf Nginx für die Anwendung wie folgt (/etc/nginx/sites-available/dashboard.conf) konfiguriert:

server { 
     listen 80; 
     return 301 https://$host$request_uri; 
} 

server { 
     listen 443; 

     ssl_certificate /home/ubuntu/ssl-bundle.crt; 
     ssl_certificate_key /home/ubuntu/dashboard.d*****d.key; 

     ssl on; 
     ssl_session_cache builtin:1000 shared:SSL:10m; 
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
     ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
     ssl_prefer_server_ciphers on; 

     access_log   /var/log/nginx/d*****d.access.log; 

     location/{ 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://localhost:4000; 
       proxy_set_header  X-Forwarded-Proto $scheme; 
     } 
} 

Der Knotenanwendung auf Port 4000 ausgeführt wird, so habe ich Ein Proxy_Pass an diese Adresse, wenn jemand auf diese URL zugreift. Wenn ich SSL nicht verwende, läuft die Anwendung beim Zugriff auf diese URL einwandfrei, aber wenn ich versuche, den obigen Server-Blockcode zu verwenden, der versucht, auf die URL zuzugreifen, wird eine Zeitüberschreitung verursacht. Kann mir hier jemand helfen oder sehen, was mit meiner Konfiguration nicht stimmt?

Dank

Antwort

1

Es stellte sich heraus, dass dies kein Nginx-Problem, sondern ein Problem mit der AWS-Sicherheitsgruppe war. Ich hatte 443 nicht als eingehenden Port in den Einstellungen erlaubt. Sobald ich das getan habe, hat es gut funktioniert. Hoffe, dies hilft jedem in Zukunft mit AWS.