# TRHX'S BLOG

# 利用 Cloudflare 为 Hexo 博客添加 Https 支持

TRHX'BLOG

2019-07-31

Hexo

Hexo

HTTPS

> 利用 Cloudflare 为 Hexo 博客添加 https 支持

# – 前言

GitHub Pages 自带的域名（xxx.github.io）支持开启 https 服务，可以在仓库的【Settings】- 【GitHub Pages】下勾选【Enforce HTTPS】即可，但是如果你设置了自定义域名的话，这种方法就不管用了，因为 hexo 博客是托管在 GitHub 上的，没有自己的服务器，因此也不支持上传 SSL 证书，而 Cloudflare 就能完美解决这种尴尬

Cloudflare 是一家美国的跨国科技企业，以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务，它提供了免费的 https 服务，注意不是应用SSL证书，实现原理：用户到CDN服务器的连接为 https 方式，而CDN服务器到 GithubPages 服务器的连接为 http 方式，在CDN服务器那里加上反向代理

# – 注册 Cloudflare

到 Cloudflare官网 注册账号

<fancybox>
</fancybox>

# – 添加站点

添加你的站点，一直下一步即可

<fancybox>
</fancybox>
如果你已经在域名服务商那里解析过域名的话，之后就会出现你域名的解析列表，如果还没有解析过，可以参考《为hexo博客配置个性域名》
<fancybox>
</fancybox>

# –修改DNS

点击下一步 Cloudflare 会提供给你两个 DNS 地址

<fancybox>
</fancybox>
到域名服务商那里修改DNS，以阿里云为例，依次选择【控制台】-【域名】，选择你的域名，点击【管理】-【修改DNS】，将上面 Cloudflare 提供的两个 DNS 地址填进去，会过几分钟才生效
<fancybox>
</fancybox>

# –开启 HTTPS

在 Cloudflare 管理页面，点击【Crypto】选项，选择 SSL 的模式为【full】，注意：在CloudFlare 上激活站点后，可能需要24小时才能颁发新证书，耐心等待即可

<fancybox>
</fancybox>

关于三种模式 Flexible、Full、Full (Strict) 的区别：

- Flexible：访客与 Cloudflare 之间是加密的，Cloudflare 到站点服务器是不加密的

- Full：访客到 Cloudflare、Cloudflare 到站点服务器都是加密的，它不会验证你服务器上的证书是否合法，因此你可以在你服务器上安装任何证书，包括自签名证书

- Full (strict)：访客到 Cloudflare、Cloudflare 到站点服务器都是加密的，它会验证你服务器上的证书是否合法，你必须在你的服务器上安装有可信赖的CA证书，并且这个证书必须是未过期，包含有域名等信息的

至此，我们的域名就支持 https 访问了，但是当用户输入 http://xxxxxx 访问时，浏览器依旧会以 http 协议来访问，并不会跳转到 https，这时候就需要利用重定向来解决了

# –重定向强制 HTTPS

Cloudflare 提供了一个名叫 Page Rules 的页面规则的功能，我们可以利用此功能对 URL 做一些处理，当用户访问是 HTTP 的时候重定向到 HTTPS，点击【Page Rules】选项，点击【Create Page Rules】，新建如下规则并保存即可

<fancybox>
</fancybox>

现在我们的 Hexo 博客就实现了全站 HTTPS！

最后更新于 2019年7月31日

###### 下一页

#### 恶意刷留言者——你是什么垃圾？

###### 垃圾

#### 评论

## TRHX'S BLOG

求知若饥 虚心若愚

本文目录
站内导航

- 所有文章
- 文章归档
- 所有标签
- 我的友链
- RSS订阅
- 关于博主

QQ交流群

访客地图

域名转让

以下闲置域名低价转让，价格非常美丽，给钱就扔，欢迎骚扰：

52bug.club
52bug.xyz
52bug.top
NeedForSpeed.site
文章分类

- BLOG
  (3)
- CDN
  (1)
- Hexo
  (4)
- Java
  (1)
- Linux
  (2)
- Markdown
  (2)
- Python3
  (11)
- WEB前端
  (2)

热门标签
BLOG CDN Deepin Elicpse Github Github Pages HTTPS Hexo ICP备案 JDBC JS 预加载 Markdown PEP8 Pygame Python SQL Server 2012 Ubuntu VMware if语句 input()函数 instant.page jsDeliver while循环 主题个性化 公安备案 函数 列表 变量 垃圾 字典 异常 技巧 操作列表 数据类型 文件 模块 类 继承 编辑器
最近在听