Linux相关-nginx配置https(自签名证书)

最近做一个项目, 使用nginx做https服务器,做个记录

大致分为两个部分:

1.nginx开启openssl模块,网上有很多说明, 这里简单说明一下

a. 下载nginx源码:点这里

b. 下载openssl源码:点这里

c.解压openssl源码,进行配置,编译,安装

d. 解压nginx源码,进行配置, 配置的时候特别开启openssl模块

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl={path-to-openssl-source-dir}

这边特别注意是openssl的源码目录, 而非安装目录, 编译,安装,openssl模块就编译到nginx当中去了

e.  配置nginx(剩下的是和第二部分紧密关联的)

另外, 如果是在原有的nginx服务器上配置,参考这里

2. 自签证书的CA认证问题

这里有篇文章作为参考:链接

文章的前面部分完全没有问题, 最后使用CA根证书签名CSR这一步一直都不成功

最后通过网上另外一篇文章得到解决, 就是使用CA证书签字的命令行应该是

 

openssl x509 -req -days 500 -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -sha256 -extensions v3_req -extfile {yourpath}/openssl.cnf

主要步骤也在这里列一下:

a. 创建CA私钥, 利用私钥创建CA证书

#创建CA私钥
openssl genrsa -out rootCA.key 2048
#创建CA证书
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

b.创建server私钥以及CSR

#创建server私钥
openssl genrsa -out server.key 2048
#根据配置要的openssl参数创建服务器csr文件, 后面会用到
openssl req -new -key server.key -out server.csr -config {yourpath}/openssl.cnf -extensions v3_req

c.使用CA证书给server.csr做签名

openssl x509 -req -days 500 -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -sha256 -extensions v3_req -extfile {yourpath}/openssl.cnf

完整流程图

å¨è¿éæå¥å¾çæè¿° 

3. nginx已经编译安装完成,openssl证书也已经生成好, 最后进行nginx.conf配置

Linux相关-nginx配置https(自签名证书)_第1张图片

红色标注的文件就是生成好的密钥的数字证书, 然后启动nginx,在配制好的ip或者域名就可以使用https访问了

文章最后,重点提一下其中的几个关键点

1) 在生成server.csr的过程当中填写的信息, 需要和最后使用CA根证书签字的时候的信息一样

还有几个点, 一下子忘了, 看这篇文章有问题的,给我留言吧

关于相关证书的查看已经生成,参考这里

你可能感兴趣的:(服务器相关,Linux,nginx,https,自签名证书)