将自己的博客从http转换为https

将自己的博客从http转换为https

doMore 980 2019-11-12

一直以来就想弄一个自己的博客,但是实在是找不到合适的,直到前些日子发现了Halo,买了三年的服务器(腾讯云)终于能干点正事了。前些日子逛腾讯云SSL模块的时候发现可以申请免费的证书,为了让自己博客更加安全,也为了让自己熟悉一下由http转换https的过程。

建议:免费SSL证书即为免费的DV SSL证书,可以保护一个完整的域名,不支持通配符,免费SSL证书只需要验证域名信息,签发速度快 。免费DV证书对于个人博客,小微企业,api服务等的服务,可以节省一笔不小的开支,提高用户对网站的信任,一级搜索引擎对SEO的优化。当然在有经济条件的情况下,付费SSL证书不失为一种更好的选择。如果只是个博主,只需要简单的验证域名,选择免费的证书也是可以的,如果网站涉及出售商品,金额交易等还是选择付费证书比较好,更加安全。

1.为什么要从http转换成https

1>HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

2>HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

2.如何申请免费证书

1)登录腾讯云控制台,然后选择 SSL证书。 2)点击购买证书,出现以下页面。 下一步之后选择手动配置DNS验证(如果使用的是腾讯云服务器,也可以使用自动dns验证) 3)完成之后可以直接去 证书管理控制台 可以看到刚刚申请的,然后点击详情(参考文档)。 4)前往SSL控制台等待审核结果,如果信息填写完全正确,很快就会成功。 5)将证书加载到本地,解压之后能够看到 6)本处使用的nginx,所以讲nginx文件夹上传到服务器。

3.配置NGINX反向代理

1)配置nginx配置文件(参考腾讯云官方文档

# 参考我的配置,配置自己的default.conf文件
server {
    listen       443;
    server_name  localhost;
    ssl on;  # 注意有的版本的nginx配置为  listen   443  ssl; 
	     # 将 ssl on; listen 443; 结合为一个配置。

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    ssl_certificate /ssl/******;  # ssl 证书目录
    ssl_certificate_key /ssl/*******;
    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;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
	proxy_pass  http://****;   #需要代理的地址
    }
# ......
}
server{
  listen 80;
  server_name localhost;
  rewrite ^(.*) https://$host$1 permanent;  # 将所有访问80端口的都强制转换到443转为https
}
# $host 是预定义变量
# 按esc,然后输入:wq保持退出  可使用 sbin/nginx

2)修改完成,重启 Nginx。即可使用 http://*****.com 进行访问。会强制转换为https。