目录
- 引言
- 获取证书
- 上传证书到服务器
- 证书安装
- 使用全站加密,http 自动跳转到 https
引言
我的服务器是腾讯云的,域名是阿里云的,这篇文章用于记录 Hexo 博客开启https的过程。
获取证书
这里的SSL 证书我选择腾讯云的免费版 DV,有效期为一年。
腾讯云的证书申请流程,点击此处进行查看。
在验证域名所有权审核通过后,就可以将解析记录删除掉。到证书管理处下载证书。
下载的证书解压出来后的结构应该如下:
- staunchkai.com
- Apache
- IIS
- Nginx
- Tomcat
- staunchkai.com.csr
我使用的是Nginx,所以就只用得到 Nginx 目录下的两个文件,分别是.crt文件 和.key文件。
上传证书到服务器
在服务器上创建一个文件夹,用于存放证书文件,我的路径为:/home/SSL。
使用git bash将两个文件上传至服务器的/home/SSL中。
scp 本地文件路径 USERNAME@SERVER:/home/SSL
USERNAME表示服务器用户。SERVER表示服务器 IP。
证书安装
编辑Nginx的配置文件,我的为/etc/nginx/nginx.conf,可通过nginx -t命令查看。在listen 80的server后面在添加如下:
server {
listen 443;
server_name staunchkai.com; # 填写绑定证书的域名
ssl on;
ssl_certificate /home/SSL/1_bundle.crt;
ssl_certificate_key /home/SSL/2_key.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;
location / {
root /home/hexo; # 站点目录
index index.html index.htm;
}
}
配置完成后,使用nginx -t命令检测是否有误,正确无误后,使用systemctl restart nginx.service重启 Nignx。再使用带https的域名进行访问即可。
注:
使用全站加密,http 自动跳转到 https
对于用户不知道网站可以进行https访问的情况下,可以让服务器自动把http的请求重定向到https。可以通过js实现,也可以再服务器中实现跳转。Nginx 支持rewrite的,编辑Nginx的配置文件,在listen 80的server中添加语句,如下:
listen 80 default_server;
listen [::]:80 default_server;
server_name staunchkai.com;
root /home/hexo;
rewrite ^(.*) https://staunchkai.com$1 permanent; # 添加的语句
重启 Nginx,这样就可以实现80进来的请求,重定向为https了。
以上就是hexo 博客开启https的SSL 证书实现过程的详细内容,更多关于hexo博客开启https SSL证书的资料请关注悠久资源网其它相关文章!
您可能感兴趣的文章:
- NSURLSession跨域重定向透传HTTPHeader问题解决
- Http状态码及含义详解
- HTTP-Header中常见字段及含义详解