引言
我的服务器是腾讯云的,域名是阿里云的,这篇文章用于记录 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
的域名进行访问即可。
注:
配置文件参数 | 说明 |
---|---|
listen 443 | ssl 的访问端口号为 443 |
ssl on | 启用 ssl 功能 |
ssl_certificate | 证书文件 |
ssl_certificate_key | 私钥文件 |
ssl_protocols | 使用的协议 |
ssl_ciphers | 配置加密套件,写法遵循 openssl 标准 |
使用全站加密,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证书的资料请关注代码网其它相关文章!
发表评论