概述
最近做一个项目, 使用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配置
红色标注的文件就是生成好的密钥的数字证书, 然后启动nginx,在配制好的ip或者域名就可以使用https访问了
文章最后,重点提一下其中的几个关键点
1) 在生成server.csr的过程当中填写的信息, 需要和最后使用CA根证书签字的时候的信息一样
还有几个点, 一下子忘了, 看这篇文章有问题的,给我留言吧
关于相关证书的查看已经生成,参考这里
最后
以上就是害羞手套为你收集整理的Linux相关-nginx配置https(自签名证书)的全部内容,希望文章能够帮你解决Linux相关-nginx配置https(自签名证书)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复