私のクライアントには、DigitalOceanによってホストされているUbuntuサーバーがあります。サーバーにはドメイン名がありません。パブリックIPアドレスを介してアクセスします。彼らはhttpsの使用を開始したいと考えており、GoDaddy.comからSSL証明書を提供してくれました。 SSL証明書を設定するためにGoDaddyにCSRを提供する必要があります。
サーバーにCSRと秘密キーを作成する私の試み:
_openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
_
問題は、Common Name (eg, fully qualified Host name) []:
プロンプトに何も置くことがないことです。代わりに単にIPアドレスを配置しても問題ありませんか?
これを調査しているときに、IPアドレスを指定できるサブジェクトの別名(SAN)を見つけましたが、それをCSRに追加する方法がわかりません。
クライアントにドメイン名を取得するように指示する必要がありますか?
できますが、ここでは明らかにDV証明書について議論しているので、すべきではありません。
証明書は「何か」を識別します。その何かは、組織、個人、ウェブサイト、メールアドレス、IPアドレス、コードの一部などです。
HTTPSの世界で使用する証明書を作成する場合は、証明書のSANセクション)にDNS名を含める必要があります。ホスト名部分にIPアドレスが含まれるHTTPSURLは使用しないでください。なぜなら、技術的に機能し、名前の代わりにIPアドレスを使用した証明書を使用できる場合でも、証明書を別の方法で生成する必要があり、署名するCAを見つけるのにはるかに多くの問題が発生するためです。
あなたは誰でもドメイン名を登録し、それをすべてのホストに名前を付けるためのサフィックスとして使用する必要があります。そうすれば、問題を解決することができます。すべてのホストに名前が付けられるので、適切な証明書を作成できますその名前。