Nginx 服务器 SSL 证书安装部署并配置(已实测)


前置条件

  • 服务器已经安装nginx并且可以通过http正常访问,可以参考我之前的文章安装Nginx 并配置
  • 拥有SSL证书,没有的可以去腾讯云或阿里云购买
  • 已准备文件远程拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)
  • 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)
  • 已在当前服务器中安装配置含有 http_ssl_module 模块的 Nginx 服务。

一、Nginx的SSL模块安装

一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:
进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和我一致的话

 cd /usr/local/nginx/sbin

输入

 #注意这里是大写的V,千万别写错了,我就掉坑了
 ./nginx -V

在这里插入图片描述
出现红框的内容,则已安装,如果有直接跳过看 二、配置SSL证书 如果没有,接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,我的是在(/user/local/nginx-1.24.0),

#进入目录
cd /usr/local/nginx-1.24.0

输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

接下来执行

make

操作完成后原来的解压目录/usr/local/nginx-1.24.0/会出现objs文件夹,文件夹里有nginx文件
在这里插入图片描述停掉nginx服务,使用新的nginx文件替换掉之前安装目录sbin下的nginx

  systemctl stop nginx

替换掉之前的nginx

cp /usr/local/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/nginx

进入到nginx安装目录下,查看SSL是否成功,注意V大写

./nginx -V

在这里插入图片描述
出现了configure arguments: --with-http_ssl_module 证明已经安装成功

二、配置SSL证书

解压缩下载好的证书(我是腾讯云证书一般是crt文件和key文件,这里名字可以随便改)
将下载好的证书上上传到服务器,我将证书放在了/usr/local/nginx/conf目录下的ssl文件夹

 cd /usr/local/nginx/conf
 mkdir ssl

使用winScp工具将将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目录拷贝到ssl目录下

三、进行nginx.conf配置

cd /usr/local/nginx/conf
#修改nginx.conf文件
vim nginx.conf

仅修改Server的部分,443端口这进行证书的绑定,下方监听80的server,可以将请求转发到https的443端口

server {
 #SSL 默认访问端口号为 443
 listen 443 ssl;
 #请填写绑定证书的域名
 server_name cloud.tencent.com; 
 #请填写证书文件的相对路径或绝对路径
 ssl_certificate  cloud.tencent.com_bundle.crt; 
 #请填写私钥文件的相对路径或绝对路径
 ssl_certificate_key cloud.tencent.com.key; 
 ssl_session_timeout 5m;
 #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 #请按照以下协议配置
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_prefer_server_ciphers on;
 location / {
   #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 
   #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
   root html;
   index index.html index.htm;
 }
}
server {
 listen 80;
 #请填写绑定证书的域名
 server_name cloud.tencent.com; 
 #把http的域名请求转成https
 return 301 https://$host$request_uri; 
}

注意:记得在安全组中开放443端口

四、启动nginx

先验证下配置文件是否OK,进入到sbin目录下

 ./nginx -t

在这里插入图片描述
没问题重启nginx

systemctl restart nginx

至此就完事了,访问你的域名,发现有这个小锁,说明没问题了
在这里插入图片描述
好用的话不妨点赞收藏关注呀~

资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 在网络安全和Web服务器管理中,为Nginx配置SSL证书使其监听443端口是一项关键技能。443端口是HTTPS服务的标准端口,而SSL协议用于加密互联网通信,确保数据传输安全。本文将介绍如何在Nginx配置SSL证书以及监听443端口的详细步骤,这对于搭建安全网站至关重要。 首先,确保你拥有有效的SSL证书文件。本文以阿里云免费版SSL证书为例,这是一种常见的商业证书。下载证书后,解压找到证书文件,常见的格式有.pem(包含公钥和私钥)和.key(仅私钥)。接下来,在Nginx的cert目录下创建一个ssl文件夹,证书文件拷贝到该目录中。 然后,修改Nginx配置文件nginx.conf,该文件通常位于/etc/nginx或/usr/local/nginx/conf等路径。在http{}块中添加一个新的server{}块,用于定义HTTPS服务的参数。其中,listen 443指令让Nginx监听443端口;server_name指令设置服务器域名;ssl on指令开启SSL支持;root指令指定网站根目录;index指令定义默认索引文件名。ssl_certificate和ssl_certificate_key指令分别指定证书文件和私钥文件的路径。ssl_session_timeout设置SSL会话缓存的有效时间;ssl_ciphers定义加密算法,推荐使用ECDHE-RSA-AES128-GCM-SHA256;ssl_protocols定义支持的SSL协议版本,如TLSv1、TLSv1.1和TLSv1.2;ssl_prefer_server_ciphers指示服务器优先使用自身的密码套件。 此外,可通过location块在server块中设置特定请求的代理。proxy
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值