离线运行的项目,由于没有外网,服务器上的很多配置,运行环境,证书等都没有办法一键配置,所以这些都需要手动从服务器上安装,今天就尝试从服务器上面对站点配置SSL证书,实现通过https来访问服务。
离线配置SSL用到是openssl,它是一个开源的软件包库,主要用于在计算机网络上提供安全通信。openssl包含了SSL协议和应用程序,用于在网页服务器上提供安全的传输方法。
使用openssl生成离线证书,可以按照以下的步骤进行:
1、生成RSA私钥
首先需要生成一个RSA私钥。私钥是SSL证书的核心组成部分,用于加密和解密数据
在这个命令中,-algorithm RSA指定了要使用的算法(RSA),-out private_key.key指定了输出文件的名称,2048指定了密钥的长度(位数),这是一个常见的长度,可以提供足够的安全性。
2、创建证书签名请求
使用私钥来创建一个证书签名请求(CSR)。CSR是一个包含你的公钥和相关信息的文件,你可以将其提交给证书颁发机构(CA)以获取SSL证书。使用以下命令创建CSR:
openssl req -new -key private_key.key -out certificate_signing_request.csr
这个命令会提示你输入一些信息,如国家、省份、城市、组织等。确保你输入的信息准确无误,因为这些信息将包含在最终的SSL证书中。
3、生成自签名证书
如果你不打算从CA购买SSL证书,而是想使用自签名证书进行测试或内部使用,你可以使用以下命令生成自签名证书
openssl x509 -req -in certificate_signing_request.csr -signkey private_key.key -out self_signed_certificate.crt -days 365
这个命令将使用CSR和私钥来生成一个自签名证书。-days 365指定了证书的有效期为一年(365天)。你可以根据需要更改这个值。
4、生成PEM文件
使用openssl命令的x509选项进行转换。由于.crt文件通常是PEM格式的,所以这一步可能是多余的,但如果你需要,可以使用以下命令:
openssl x509 -in self_signed_certificate.crt -out self_signed_certificate.pem -outform PEM
这个命令将.crt文件转换为.pem文件。注意,如果.crt文件已经是PEM格式,那么这个命令实际上只是做了一个简单的复制操作。
命令执行完以后会生成四个文件
我们需要把文件里的内容填写到ssl证书里面就可以了