我正在尝试将我的 rails 应用程序转换为 https://。出于测试目的,我使用 openssl 创建了一个自签名证书。我正在使用 nginx 作为网络服务器。然后我使用这个证书配置了 nginx。
但是,在使用该应用程序时,它在地址前显示 https:// 但显示结果,因为 此网页有一个重定向循环,此网页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
我将 cap.pem 复制到
/etc/ssl/certs
和 ca.key 到
/etc/ssl/private
然后根据需要编辑openssl.conf并在/etc/ssl中创建两个新目录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
然后我从第二个证书创建了第三个证书,这意味着client.cer并且不依赖于ca.pem使用以下命令。
# 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
如何捆绑这三个证书以正确创建链式证书。我以自己的方式尝试过,但它显示了同样的错误。
谁能帮忙解决这个问题,过去一周我正在解决这个问题。
感谢和问候