Nginx配置免费HTTPS详细教程

本文详细介绍了如何在CentOS7.9环境下,使用Nginx1.24.0配置HTTPS,包括生成RSA密钥、签发免费证书、设置反向代理,确保443端口安全访问的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景说明

开发的软件系统基本都是http开发,在项目部署是,甲方要求传输必须启用HTTPS,从而想到用Nginx配置启用SSL模块,并使用(443端口)HTTPS进行反向代理。正式项目中SSL证书肯定是要花钱购买,当然也有免费的(通常是1年有效期)。今天介绍的SSL证书是通过 openssl生成免费的证书,除了网页会提示不安全之外,其他都是正常的。

环境准备说明

项目说明
系统CentOS 7.9
Nginx1.24.0

安装Nginx及依赖环境

nginx具体安装步骤不描述,网上教程很多,不是本文的重点。

若你已经安装了Nginx,但是没有启用ssl模块,建议保存好配置文件(conf目录下全部文件),然后重新安装。
查看当前nginx安装了哪些模块,可以用这个命令: nginx -V
在这里插入图片描述

准备:yum安装依赖环境
yum -y install openssl openssl-devel make zlib zlib-devel gcc gcc-c++ libtool    pcre pcre-devel
编译时一定要启用ssl模块,才能使用https
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install

编译时会检查当前系统的依赖环境是否满足,可根据error提示内容,通过yum进行安装!!!

配置HTTPS步骤

接下来的操作,才是本文重点,分为2个阶段,第一:创建ssl证书;第二:nginx启用https并绑定证书;
首先,如果要使用https,那么就需要有https证书,这是前置条件。获取途径有2种,一种是通过正规途径购买,这样的证书经过了认证,访问使用时不会提示“不安全”。第二种,就是免费的,本文介绍使用openssl生成RSA密钥及证书,具体操作如下

步骤1:创建服务器私钥

在root家目录下操作,防止找不到文件了。。
cd ~
openssl genrsa -des3 -out server.key 1024
输入密码:rmcp@2023

在这里插入图片描述

步骤2:创建签名请求的证书(CSR)

openssl req -new -key server.key -out server.csr
根据提示,输入信息,最终会得到2个文件,csr和key

在这里插入图片描述

步骤3:加载SSL支持的Nginx并使用私钥时去除口令

备份key文件
cp server.key server.key.bak
openssl rsa -in server.key.bak -out server.key
输入刚才设置的密码:rmcp@2023

在这里插入图片描述在这里插入图片描述

步骤4:将密钥文件移动到Nginx配置文件目录下,后续操作切换为conf目录下执行命令。

mv server.key server.csr /usr/local/nginx/conf/
cd /usr/local/nginx/conf/

在这里插入图片描述

步骤5:自动签发证书,获取CRT文件

Days代表证书有效期(天)
openssl x509 -req -days 10240 -in server.csr -signkey server.key -out server.crt

在这里插入图片描述
在这里插入图片描述

步骤6:修改Nginx配置文件,启用HTTPS模块。

vim nginx.conf
修改nginx默认配置文件,启用https以及443端口
修改防火墙,开放443端口。
并重新启动Nginx

在这里插入图片描述
在这里插入图片描述

步骤7:验证443端口是否正常访问

浏览器提示不安全时,选择继续访问即可。
出现下面页面,说明配置正确。
在这里插入图片描述

步骤8:配置反向代理,将原来HTTP端口转换为HTTPS,并验证平台功能。

验证成功后:使用nginx反向代理原来的web网站
修改后要重启nginx
在这里插入图片描述
最终效果如下图:
在这里插入图片描述

总结

  1. 配置ssl证书时,要注意会输入很多密码,若你搞不清各个密码代表的含义,直接用一个密码即可。
  2. 反向代理的网站,需要注意内部不能含有http的接口或者链接,否则会出错,比如某图片时http的URL地址,则使用https代理后就无法显示了
  3. 域名因为没有认证,所以时随意写的,当然若是购买的ssl证书,是要求认证的域名,则不存在问题。
  4. 若想通过域名访问,可以修改host来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值