Nginx 域名SSL证书配置(网站 http 升级为 https)

前言
HTTP 和 HTTPS

我们日常生活中,常见的网址大致分为2种:

一种是基于 http 协议,如:http://www.baidu.com

一种是基于 https 协议,如:https://www.baidu.com

现在很多网站出于安全的考虑,会把网站的域名访问从 http 已经升级为 https,如果你不知道 http 和 https 的概念,不妨先看看下面这篇文章:HTTP和HTTPS有什么不同

SSL 证书

那么我们如何将 http 升级为 https 呢?

我们要升级 http 为 https,首先需要一个 SSL 证书。 SSL 你可以想象为本科毕业证,有个这个本科毕业证,就能证明你是本科生,就都能去申请本科生门槛的招聘。当然,证书可以由不同院校颁发,比如清华本科毕业证和普通三本院校的本科毕业证,这两者的含金量肯定是有不同的。SSL证书也一样,也有不同发签发机构。

配置方式

当有了域名和SSL证书后,我们就可以将域名网址升级为 https 了,我们常用的做法是在 Nginx 中配置域名的 SSL 证书。

具体过程
开始访问

(1)下面我以自己的网站,配置我的个人网站 SSL 证书,将我的网站升级为SSL。

我访问自己网站下的一张图片( http://www.zyqok.cn/fj.jpg ),这是一个 http 访问。
在这里插入图片描述
(2)然后我们改为 https 访问,发现是访问不了的。
在这里插入图片描述
下面我们正式开始,将网站改为 https 的请求访问。

服务器安装Nginx

首先,我们需要在服务器上安装 Nginx 环境,如果你服务器已经有Nginx了,那么这一步可以跳过,如果未安装Nginx,不妨参照

获取 SSL 证书

由于我服务器是阿里云买的,所以阿里会送几个免费的SSL证书,下面以阿里云的获取 SSL 证书过程进行说明。
如果你不是阿里云客户,那么这一步可以跳过,然后自行百度 “SSL证书” 到相关厂商购买,或者百度 “免费SSL证书” 。

(1)登录阿里云,然后找到 【SSL证书】一栏,点击( 因为我已经开通过了该功能,所以你的位置可能和我的位置不一样,自己去面板找 )。
在这里插入图片描述
(2)来到这个面板后,点击【购买证书】。
在这里插入图片描述
(3)选择免费型,然后购买
在这里插入图片描述
(4)当你完成购买后,就会在页面出现一条对应记录,然后点击【证书申请】。
在这里插入图片描述
(5)然后写好你需要升级的域名,比如我要把我的个人网站 http://www.zyqok.cn 升级为 https://www.zyqok.cn
那么此时的域名就填 zyqok.cn,然后填写好其他信息,点击下一步,然后这个证书就会向上面提交,进入审核状态。
在这里插入图片描述
(6)当你的申请通过之后,你就可以下载你的SSL证书了,我们点击右下角【下载】
在这里插入图片描述
(7)继续选择 Nginx 后面的【下载】
在这里插入图片描述
(8)下载完成后,我们就可以得到一个SSL证书的压缩包
在这里插入图片描述

上传SSL证书到服务器

(1)我们先将证书压缩包解压,然后可以得到如下两个文件。
在这里插入图片描述
(2)我们将这两个文件通过 FTP 工具,上传到服务器上,并放在 Nginx 配置文件所在的同级目录下。
在这里插入图片描述

修改配置并重启

(1)打开你的 Nginx.conf 配置文件,然后将你的443和80端口的 server 信息配置如下:
更多详细步骤可以查看阿里云的文档:Nginx/Tengine服务器安装SSL证书

# 直接访问 https 
 server
  {
   	charset utf8;
	listen 443;
	root /opt/local;
	server_name www.zyqok.cn; 
	ssl on;
	ssl_certificate 3067072_zyqok.cn.pem;
	ssl_certificate_key 3067072_zyqok.cn.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  
	ssl_prefer_server_ciphers on;
	
  }
  
  # http 跳转 https
  server 
  {
       listen 80;
	server_name zyqok.cn;
	rewrite ^/(.*) https://www.zyqok.cn permanent;
  }

(2)注意蓝色方框的内容是你的域名和 SSL 证书相关文件。
在这里插入图片描述
(3)然后重启你的 Nginx 服务

进入nginx 的 sbin 目录下,输入下面命令,重启 nginx 服务

./nginx -s reload

在这里插入图片描述
(4)如果是阿里云的服务器,别忘了开放 80 端口和 443 端口,不然访问不了

不会配置的可以参考这篇文章:阿里云安全规则配置

在这里插入图片描述

再次访问

(1)直接 https 进行访问(443端口),可以看到是OK的
在这里插入图片描述
(2)然后 http 访问(80端口),他会自动跳转到 https,也是OK的。
在这里插入图片描述
至此,你已经学会了 SSL 证书配置!谢谢阅读!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值