次のコマンドを使用して、サーバーで証明書を作成しました。
Sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/Apache2/ssl/Apache.key -out /etc/Apache2/ssl/Apache.crt
すべてを正しく構成すると、http以外のhttpsと入力すると、私のサイトが利用可能になります。しかし、問題があります。私の証明書は信頼されていません。
Firefoxプロンプト:
sec_error_untrusted_issuer
そしてChrome:
NET::ERR_CERT_AUTHORITY_INVALID
証明書を信頼できるようにする方法はありますか?エラーは発生しませんか?
Cozについては、リスクを受け入れてサイトに転送することができますが、https経由で私のサイトにアクセスする人には見栄えがよくありません。
Firefox:httpsページに移動します。下部には、「リスクを理解している」という選択肢があります。このセクションと「例外の追加」を拡大してください。
Chrome:これは少し難しいです。ウェブサーバーから提示された証明書をファイルシステムに保存し、その証明書をChromeにインポートする必要があります。設定->詳細設定-> HTTPS/SSL->証明書の管理->サーバー->インポート。
外部の人があなたのサイトを使用できるようにしたい場合は、認証局によって署名された証明書を取得する必要があります。次に、この署名付き証明書をWebサーバーで使用します。
認証局(証明書を発行する人)は、ブラウザーによって信頼されている必要があります。自己署名証明書は、デフォルトでは信頼されていません。したがって、証明書はユーザーが手動で受け入れる必要がありますが、これはほとんど何もしませんが、Chromeでは、奇妙なことに非常に困難です。
管理者エリアでプロユーザーのみを対象とする場合、これは問題ではありませんが、一般の人々にとっては、これは期待できません。
独自のIPアドレスを持っている場合、startsslのような場所には無料の証明書があり、gandi.netのようなレジストラも1年間の無料の証明書を提供しているため、これは難しくありません。
他の人と共有IPアドレスを持っている場合、IPにはSSLリスナーが1つしかないため、効果的にナビゲートできないクライアントがいくつかあります。 Windows XP(すべてのブラウザ)、Android 2.x、およびBlackberry 7.xは、ドメイン名を含むSSLネゴシエーションの拡張をサポートしていません。
注-2017年8月になり、SNIをサポートしていないデバイスが大幅に少なくなり、無料(およびかなり使いやすい)です LetsEncrypt SSL証明書 。