2017-01-26 2 views
0

Ich habe die folgende NGINX-Konfiguration, um https zu http umzuleiten und dann 301 Redirects auszuführen. Das Problem ist, wenn Leute https://domain.com besuchen anstatt umgeleitet zu werden, bleiben sie auf einer Zertifikatsfehlerseite hängen.NGINX Redirect HTTPS zu HTTP bekommen Cert Fehler

server { 
     listen 443; 
     server_name domain.com www.domain.com; 
     rewrite ^(.*) http://$host$1 permanent; 
} 
server { 
     listen 80; 
     server_name domain.com www.domain.com; 

     location ~ /assets/img/images/(.*)$ { 
       return 301 https://domain.xyz/images/legacy/$1; 
     } 

     location ~ /frame/(.*)$ { 
       return 301 https://domain.xyz/embeded/$1; 
     } 
} 

Antwort

1

Es ist ein bisschen wie ein Huhn-und-Ei-Problem, so dass es keine wirkliche Möglichkeit, dass Sie nicht unterstützen, ohne vorher die Unterstützung TLS/SSL-TLS/SSL zu sagen ist.

Um die Weiterleitung zu bedienen, müssen Sie daher weiterhin ein gültiges Zertifikat bereitstellen.

Sobald Sie ein Zertifikat (zum Beispiel eine freie aus Let's Encrypt) zu erhalten, fügen Sie einfach diese zu Ihrem ersten server Block:

listen 443 ssl; 
ssl_certificate /path/to/certificate.crt; 
ssl_certificate_key /path/to/private.key; 
+0

Entschied sich, diesen Weg zu gehen - ein bisschen wie ein Schmerz ein CERT brauchen wenn Sie sofort umleiten, danke! –