一、OpenSSL
通过OpenSSL安装ssl证书搭建https
二、下载 OpenSSL与安装
2.1 下载
2.2 安装
2.3 配置环境变量
安装之后配置环境变量: 添加新的系统变量 OPENSSL_HOME :OpenSSL安装目录。然后在Path变量末尾加:%OPENSSL_HOME%\bin;
2.4 检查验证
cmd输入命令:openssl version
如上表示安装成功
三、创建证书
3.1 创建私钥(RSA)
openssl genpkey -algorithm RSA -out name-private.key -pkeyopt rsa_keygen_bits:2048
这个命令使用了genpkey工具,这是OpenSSL的新一代密钥生成工具,提供更多配置选项。具体细节如下:
- genpkey:这是一个通用的密钥生成工具,支持多种算法和选项。
- algorithm RSA:指定生成RSA密钥。
- out private.key:输出密钥文件的文件名。
- pkeyopt rsa_keygen_bits:2048:指定密钥的位数,这里是2048位。
生成私钥后,接下来你可以根据需要生成证书签名请求(CSR),然后生成自签名证书或与证书颁发机构(CA)交互以获取正式证书。
3.2 生成签名(CSR)
成CSR时需要提供一些证书信息,如国家(C)、省份(ST)、城市(L)、组织(O)、组织单位(OU)和通用名称(CN)。最重要的是Common Name表示要使用https访问的域名。
openssl req -new -key name-private.key -out name-mycsr.csr
需要记住输入的密码 name为自定义的名字
3.3 生成证书
如果你只需要一个自签名证书用于开发或测试用途,你可以使用以下命令生成一个自签名证书。这里我们假设你希望生成一个有效期为3000天的证书。
openssl req -x509 -key name-private.key -in name-mycsr.csr -out name-mycert.crt -days 3000
在使用OpenSSL生成自签名证书时,你可能会遇到以下警告,这些警告通常不会影响基本功能,可以忽略。但了解它们的含义和如何处理它们可能对你有帮助。
3.3.1 警告1
Warning: Not placing -key in cert or request since request is used
这个警告是因为在创建证书时,OpenSSL注意到你指定了一个存在的CSR文件。它的意思是,证书中不会包含私钥的引用,因为你提供了一个CSR文件来生成证书。这个警告可以忽略,因为它不影响生成的自签名证书的实际使用。
3.3.2 警告2
Warning: No -copy_extensions given; ignoring any extensions in the request
这个警告是因为你生成的CSR可能包含了一些扩展字段(如Subject Alternative Name,SAN),但是在生成证书时,你没有指定要复制这些扩展字段。
3.4 查看证书
你可以查看生成的私钥:
openssl rsa -in name-private.key -check
可以查看生成的CSR:
openssl req -in name-mycsr.csr -text -noout
可以查看生成的证书:
openssl x509 -in name-mycert.crt -text -noout
四、使用证书配置https
4.1nginx配置
修改nginx的配置文件,加入以下内容,配置完后重启nginx
server {
listen 80;
server_name alanchenyan.com;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 443 ssl;
server_name alanchenyan.com;
ssl_certificate ssl/name-mycert.crt;
ssl_certificate_key ssl/name-private.key;
location / {
root html;
index index.html index.htm;
}
}
4.2 修改hosts文件
hosts文件路径为:C:\Windows\System32\drivers\etc
默认情况下,hosts文件是没有编辑权限的,我们需要给当前用户授权,然后进行编辑,配置以下内容:
127.0.0.1 alanchenyan.com
::1 alanchenyan.com
五、https访问验证
本文转载自:Windows本地配置Https