nginx使用openssl自签名,实现https登录
1.确认nginx是否已安装SSL模块
查验方法:进入sbin目录,执行以下语句,显示结果如标记所示则表示安装成功
./nginx -V
2.确认系统以安装SSL工具,开始制作证书
选择一个存放证书的路径,执行以下语句即可:
(1)生成密钥,得到文件private.key
openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048
(2)创建服务器证书的请求文件csr.pem
openssl req -new -key private.key -out csr.pem
(3)使用生成的私钥,创建自申请日开始的有效期为10年的服务器证书public.crt
openssl x509 -req -in csr.pem -signkey private.key -out public.crt -days 3650
3.修改nginx配置文件nginx.conf,在server模块配置证书文件
特别注意:系统安装完nginx后,发现未安装ssl模块,那么得先安装此模块,具体操作步骤如下:
1.进入nginx原解压文件包 ,执行以下语句
./configure --prefix=/usr/local/nginxf --with-openssl=/export/server/openssl-3.1.1 --with-http_stub_status_module --with-http_ssl_module
其中:prefix=/usr/local/nginxf 为安装路径
2.在当前路径执行make编译
make
3.备份原来的nginx启动文件
cp -rf nginx /usr/local/nginxf/sbin/nginx_bak
4.关闭nginx服务
./nginx -s stop
5.在objs文件中复制nginx配置文件,替换原来的nginx文件
cp ./objs/nginx /usr/local/nginxf/sbin/
6.重新启动nginx
./nginx
7.查询nginx是否正常安装SSL工具
8.如果成功安装,则执行1步骤开始制作证书