【腾讯云的1001种玩法】个人网站如何开启HTTPS?

腾讯云技术社区-博客主页持续为大家呈现云计算技术文章,欢迎大家关注!


作者:赛冷思

首先,感谢腾讯云通过了我的入驻申请,感谢给我一个在这里发文的机会。

近日总有朋友问我的网站https是怎么搞得,其实很简单,但对于没搞过,没有经过各种测试的菜鸟来说,确实也是一桩麻烦事。所以在此写一篇我按照腾讯云官方教程实现https的方式,如有问题或发现错误之处,还请留言之处,毕竟我也不是很精,只是会搞,来分享一下。

在说之前,先描述一下我的服务器环境:

  • 一台Linux CentOS6云服务器

  • LNMP集成环境

  • 部署好的一个站点,可以通过域名直接访问

下图是我站点的初始化样子,可以看到只是输出一个字符串,啥也没有,并且没有https。
这无所谓,因为我们的重点是https,而不是网站内容

接下来就是配置https的关键步骤了,其实只需要三步而已

  1. 申请证书

  2. 修改Nginx的vhost配置文件

  3. 重启Nginx

1,申请证书步骤如下,腾讯云申请证书是很快的,这要给个大大的赞

登录腾讯云->进入管理中心,出现下图:

然后鼠标放到红色框的地方,会出现下拉框,点击上图中箭头指的位置->ssL证书管理,出现下图:

如果您还没有使用过,列表应该是空的,然后点击上图中红色框中的申请证书按钮,出现下图:

我们可以直接使用默认的免费版证书,点击上图中确定按钮,出现下图:

在这个页面,在通用名称一栏输入域名,在申请邮箱一栏输入有限,其他可选,下图以我的为例:

然后点击下一步,会让你验证,直接选择 自动DNS验证

然后点击上图中确认申请,会弹框提示已提交,然后到列表中就能看到类似的下图:

在这个列表中,状态一列,我这里显示的已颁发,实际上这里应该是审核中,因为我这个域名之前已经申请过了,所以你们操作完回到这一步,显示的是审核中,然后腾讯审核的效率还是挺快的,几分钟后就颁发下来了。

证书颁发下来之后,然后点击下载,把这个证书下载下来,下载下来是个压缩包,解压之后,打开目录,出现下图:

上图中内置了四种服务环境,选择自己对应的服务环境,如果没有您的环境,可联系腾讯云,我这里是Nginx,打开目录,出现下图:

然后把上图中这两个文件上传到服务器的Nginx配置文件目录,我个人是上传到/usr/local/nginx/conf,但是我有个强迫症,所以我在这个conf目录创建了一个ssl目录,然后在ssl目录中,存放了一堆目录,每个目录都代表的是一个域名,每个目录中存放的就是该域名对应的这两个crt和key文件,上传方式多种,我用的是scp命令上传,挺方便,如下图:

上传完了之后,就开始配置域名对应的vhost文件了,完整配置如下:

下面是上图中完整的核心代码

server {
        listen 80;
        server_name test.sailengsi.com;#换成你的域名
        return 301 https://$server_name$request_uri;
}
server {
        listen 443;
        server_name test.sailengsi.com;#换成你的域名
        ssl on;
        ssl_certificate ssl/test/1_test.sailengsi.com_bundle.crt;#证书文件
        ssl_certificate_key ssl/test/2_test.sailengsi.com.key;#秘钥文件
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers   on;
}

解释一下,第二个server,大家肯定能明白,这是官方给的实例,具体可参考文末给的链接。

第一个server,是为了把80端口给重定向到443,也就是把http的访问重定向到https,不然,直接访问https是没问题,但是用户访问时,可能就直接输入域名啥的,这个时候默认走的是80端口,所以我们通过这一步直接重定向,就做到了全站https。

ssl配置中有个注意的地方:

  1. ssl_certificatessl_certificate_key,后面的引入的路径,要么是绝对路径,从/开始,要么就像我这样,要么直接在当前目录下开始找,不要写./或者../啥的,Nginx不支持这种路径,会报错,会报错,会报错!!!

配置完成之后,重启以下命令重启Nginx:

/usr/local/nginx/sbin/nginx -s reload

然后,再次刷新页面,就会发现,直接变成https,成功的界面如下图:

到这里,基本上网站开启Nginx就结束了,其实这些内容,在腾讯云官方已有说明,但缺少一个傻瓜式的教程,毕竟倘若不太了解服务器,折腾这玩意,还是有些困难,所以在此分享一下经验。

参考链接:官方文档

如有错误,还请留言之处,也可直接联系本人,谢谢。

QQ:823393100

邮箱:sailengsi#126.com #换成@

个人博客:赛冷思官方博客

Github:赛冷思Github

相关阅读

借助腾讯云CDN开启全站https及问题解决分享
HTTP 2 的新特性你 get 了吗?
【腾讯云的1001种玩法】IIS7实现全站HTTPS访问


此文已由作者授权腾讯云技术社区发布,转载请注明文章出处
原文链接:https://www.qcloud.com/community/article/667588001491218602
获取更多腾讯海量技术实践干货,欢迎大家前往腾讯云技术社区

【腾讯云的1001种玩法】征文活动火热进行中,欢迎你来撰写腾讯云相关技术文章哟,Apple Watch、iPad Mini 等你来拿!点击查看详情

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值