2016-04-25 4 views
0

私は自分のサイトにSSLを実装していますが、Chromeの緑色のバーがしばらく消えてしまいます。私の証明書はComodoによって署名されています。 AFAIK私のnginxの設定は正しかったが、私はhttpsに固執するように見えない。私の8080リダイレクト作業とmy certsにはchmod 600があり、指定されたディレクトリにあります。SSL証明書がサイトに短時間表示された後、消滅します

アイデア?

server { 
    listen   8080; 
    server_name  *.example.com; 
    return   301 https://www.example.com; 
} 

server { 
    listen     443 ssl; 
     server_name    *.example.com; 
     ssl_certificate   /home/ubuntu/example.com.ssl/example.com.crt; 
     ssl_certificate_key  /home/ubuntu/example.com.ssl/example.com.key; 
     ssl_protocols   TLSv1 TLSv1.1 TLSv1.2; 
     ssl_ciphers    HIGH:!aNULL:!MD5; 
    location/{ 
     proxy_pass http://localhost:3333; 
    } 
} 

EDIT:私の証明書は信頼できる機関によって署名されています。あなたの証明書は、あなたのサイトやないための唯一の証明書であることを私は推測しているので、あなたは、いくつかのCAファイルの欠落言及https://www.ssllabs.com/ssltest/

:セットアップが最高このツールを使ってあなたのサイトを実行することによってテストされ、HTTPS設定コメントで述べたように

+0

証明書に自己署名があるのですか、ブラウザがデフォルトで信頼する認証局の1人が署名していますか? – jfriend00

+0

Comodoによって署名されているので、権威です。 –

+0

偶然別のブラウザで試してみましたか? –

答えて

0

ルート証明書に戻って完全なチェーン?

これはあなたの証明書ファイルを見ることで、容易に十分に検証されています。このファイルは、その後1つの証明書が含まれてい

ssl_certificate  /home/ubuntu/example.com.ssl/example.com.crt; 

場合(一つだけCERTIFICATEラインをBEGIN)の問題です。それには少なくとも2つの証明書(3つの証明書チェーンの場合)が含まれている必要があります。ルート証明書は、ブラウザが既に知っているので、このファイル内にある必要はありません(そして、そうであってはいけません!)。

ので、(彼らはあなたの証明書に付属されている必要があります - だけでなく、here for Comodo利用可能)中間本命を取得し、一つのファイルにマージ:

cat example.com.crt intermediate.crt > example.com_with_chain.crt 

か(どこintermediate1次のようにあなたは、2つの中間体を持っている場合順序が重要である

cat example.com.crt intermediate1.crt intermediate2.crt > example.com_with_chain.crt 

注:.CRTは、あなたの証明書を発行し、それがブラウザによって信頼されたルート証明書)によって発行されたintermediate2.crt、によって発行された証明書をOS。次に、ssl_certificateの設定を更新して、これらの結合されたcrtをポイントし、Nginxを再起動してssltestテストを繰り返します。

関連する問題