Railsアプリケーションをhttps://として機能するように変換しようとしています。テストの目的で、opensslを使用して自己署名証明書を作成しました。Webサーバーとしてnginxを使用しています。次に、この証明書を使用してnginxを構成しました。
しかし、アプリケーションを使用している間、アドレスの前にhttps://が表示 されますが、このWebページにはリダイレクトループがあるため、結果が表示されます。このWebページhttps://myapp.comは、Chromeでのリダイレクトが多すぎ、別のブラウザでもリダイレクトの問題が表示されます。 。
あまりにも多くの調査の結果、この問題を解決するために連鎖証明書を使用する必要があるなどの手がかりを見つけました。次に、証明書のチェーンを作成しようとしました。私が使用した方法は以下に説明しています。
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
ca.pemをにコピーしました
/etc/ssl/certs
とca.keyto
/etc/ssl/private
次に、必要に応じてopenssl.confを編集し、 / etc/ssl内に2つの新しいディレクトリCAとnewcertsを作成しました。
次のコマンドを実行して、新しいシリアルファイルとデータベースファイルを提供します。
sudo sh -c "echo '01' > /etc/ssl/CA/serial"
sudo touch /etc/ssl/CA/index.txt
次に、次のコマンドを実行してクライアント証明書を作成しました。
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
この証明書はca.pemに依存します
次に、次のコマンドを使用して、2番目の証明書がclient.cerを意味し、ca.pemに依存しない3番目の証明書を作成しました。
# Create a certificate request
openssl req -new -keyout client1.key -out client1.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile client.key -cert client.pem -out client1.pem -infiles client1.request
そしてopenssl.confオプションを変更しました
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
今、私は次のような証明書チェーンを持っています
ca.pem-> client.pem-> client1.pem
これらの3つの証明書をバンドルして、チェーン証明書を適切に作成するにはどうすればよいですか。私は自分のやり方で試しましたが、同じエラーが表示されます。
誰かが問題を解決するのを手伝ってくれませんか、過去1週間は問題に取り組んでいます。
ありがとうございます。それでは、お元気で