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 证书配置!谢谢阅读!
推荐阅读
-
Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)
-
Nginx 配置SSL证书 HTTP/HTTPS都能访问
-
Nginx 域名SSL证书配置(网站 http 升级为 https)
-
网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https//环境
-
Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)
-
NGINX 配置 SSL 证书 + 搭建 HTTPS 网站教程
-
Nginx 域名SSL证书配置(网站 http 升级为 https)
-
Nginx配置Https协议的SSL证书及Http重定向自动跳转到Https
-
NGINX 配置 SSL 证书 + 搭建 HTTPS 网站教程
-
网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https//环境