私はウェブサイトをホストしています。私のDNSサーバーはNameCheapから来ました。そこからSSL証明書を購入し、nginx経由で設定しました。すべてが大丈夫でしたが、ある日、Chromeで証明書が有効ではないと文句を言い始めました(有効期限が過ぎませんでした)。まだ)私のウェブサイトはlodugo.comです。この問題は、今は覚えていない他の特定のページでも発生します。ただし、プライベートLinuxノートブックまたは他のネットワーク(ローカルまたはネットワーク経由)の他のデバイスでのみ発生します。 )インターネット、問題ありません。
最も興味深いのは、プライベートLinuxノートブックでシークレットモードでChromeを使用しても、証明書について文句を言わないことです。
OSが証明書自体を拒否しているように見えるか、Chromeで次のように話しているので、ここに投稿します。
This server could not prove that it is lodugo.com; its security certificate is not trusted by your computer's operating system. This may be caused by a misconfiguration or an attacker intercepting your connection.
基本を確認しましたが、時間と日付は大丈夫で、他のデバイスはとにかくうまく機能し、サーバー側には何も触れません。何が起こっているのかについてのヒントや説明を手伝うことができる人はいますか?
ここでエラーがあり、ステルスモードの証明書の写真を見つけることができます(エラーがなく同じシステムにあります)。
答え1
Chromeが必要なCA証明書にアクセスできないようです。クイックチェックssllabs.comWebサイトに中間証明書がないことを示します。証明書を購入すると、通常、独自の証明書だけでなく中間証明書も付属しています。
通常、ブラウザはルートCA証明書のみを保存し、WebサーバーはWebサーバー独自の証明書と一緒に中間証明書を送信すると予想します。中間証明書はブラウザに知られているルートCAによって署名され、Webサーバーの証明書は中間証明書によって署名されます。これにより信頼チェーンが生成されます。ただし、ブラウザが中間証明書にアクセスできない場合、チェーンは失われます。
nginxにインストールするには、2つを組み合わせてファイルの前に証明書を置きます。
cat my_certificate.crt intermediate.crt > certificate_for_nginx.crt
Chromeが証明書をどのように管理しているかわかりません。独自の証明書を管理するという印象を受けました。ただし、オペレーティングシステム独自の証明書を使用している場合は、次のコマンドを使用してWebサイトがLinux用に構成されているかどうかをテストできます。
openssl s_client -connect example.com:443
あなたのサイトでこれを試してみると、次のような結果が得られます。
...
Start Time: 1583258842
Timeout : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Extended master secret: yes
これは、証明書が認証に失敗したことを示します。通常、これは証明書が見つからないことを意味し、他のエラーはより説明的な傾向があります。