2017-01-26 25 views
0

httpsをhttpにリダイレクトしてから301リダイレクトを実行するには、次のNGINX設定があります。問題は、リダイレクトされずにhttps://domain.comにアクセスしている場合に、証明書のエラーページに表示されてしまうことです。NGINX HTTPSからHTTPにCertエラーをリダイレクト

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; 
     } 
} 

答えて

1

それはあなたが最初にTLS/SSLをサポートすることなく、TLS/SSLをサポートしていないことを言っても現実的な方法がないよう鶏と卵の問題のビットです。

したがって、リダイレクトを処理するには、有効な証明書を提供する必要があります。

あなたが(例えばLet's Encryptから無料で1)証明書を取得したら、あなたは自分の最初のserverのブロックにこれを追加します。

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

このルート行くことにしました - 痛みのビットは、証明書を必要とするためにすぐにリダイレクトする場合は、ありがとう! –

関連する問題