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访问。
服务器安装Nginx
首先,我们需要在服务器上安装Nginx环境,如果你服务器已经有Nginx了,那么这一步可以跳过,如果未安装Nginx,不妨参照
获取SSL证书
由于我服务器是阿里云买的,所以阿里会送几个免费的SSL证书,下面以阿里云的获取SSL证书过程进行说明。
如果你不是阿里云客户,那么这一步可以跳过,然后自行百度“SSL证书”到相关厂商购买,或者百度“免费SSL证书”。
(1)登录阿里云,然后找到【SSL证书】一栏,点击(因为我已经开通过了该功能,所以你的位置可能和我的位置不一样,自己去面板找)。
(2)来到这个面板后,点击【购买证书】。
那么此时的域名就填zyqok.cn,然后填写好其他信息,点击下一步,然后这个证书就会向上面提交,进入审核状态。
上传SSL证书到服务器
(1)我们先将证书压缩包解压,然后可以得到如下两个文件。
修改配置并重启
(1)打开你的Nginx.conf配置文件,然后将你的443和80端口的server信息配置如下:
更多详细步骤可以查看阿里云的文档:Nginx/Tengine服务器安装SSL证书
#直接访问https server { charsetutf8; listen443; root/opt/local; server_namewww.zyqok.cn; sslon; ssl_certificate3067072_zyqok.cn.pem; ssl_certificate_key3067072_zyqok.cn.key; ssl_session_timeout5m; ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocolsTLSv1TLSv1.1TLSv1.2; ssl_prefer_server_cipherson; } #http跳转https server { listen80; server_namezyqok.cn; rewrite^/(.*)https://www.zyqok.cnpermanent; }
(2)注意蓝色方框的内容是你的域名和SSL证书相关文件。
进入nginx的sbin目录下,输入下面命令,重启nginx服务
./nginx-sreload
不会配置的可以参考这篇文章:阿里云安全规则配置
再次访问
(1)直接https进行访问(443端口),可以看到是OK的
(2)然后http访问(80端口),他会自动跳转到https,也是OK的。
至此,你已经学会了SSL证书配置!谢谢阅读!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。