更新:Halo 已经更新到了 1.0 版本,截止发布修改时,最新版本为 1.0.3,最新的安装方式推荐查看官方文档。
Halo 项目地址:https://github.com/ruibaby/halo
最近重新搭建了一下博客系统,使用的是 Halo 博客系统,现将搭建过程和配置 Https 的步骤记录一下。
- 服务器提供商使用的是腾讯云
- 域名购买是在阿里云
- Https证书是在腾讯云申请
- 服务器系统安装的是 CentOS 7.4 64 位
- 此处使用的是【服务器快速部署】
一、安装 Halo
1、安装 Halo
在终端输入以下命令进行安装,安装过程中的设置都走默认即可
yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i
2、启动 Halo
在终端输入以下命令即可启动 Halo
systemctl start halo
在终端输入以下命令即可将 Halo 程序加入开机自启
systemctl enable halo
3、修改端口(可选)
修改 /www/wwwroot/halo/resources 下的 application.yaml 文件的 port字段值,然后执行下面命令重启 Halo 即可。(此处我修改为了 6666)
systemctl restart halo
4、配置 Halo
输入服务器 ip 加端口即可开始配置 Halo,如果已经设置了域名解析,也可以直接访问域名加端口访问。
二、配置 Https
Https 证书在腾讯云或者阿里云 ssl 证书区免费申请即可
1、安装 nginx
在终端输入以下命令即可安装 nginx
yum install nginx
在终端输入以下命令即可启动 nginx
systemctl start nginx
在终端输入以下命令即可将 nginx 加入开机自启
systemctl enable nginx
2、修改 nginx 配置文件
nginx 配置文件目录/ect/nginx/nginx.conf,记得把证书的文件放到指定的目录
参考下面两段配置即可(/usr/local/nginx/)。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://127.0.0.1:6666/;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name 127.0.0.1:6666;
root /usr/share/nginx/html;
ssl_certificate "/usr/local/nginx/conf/1_juemuren4449.com_bundle.crt";
ssl_certificate_key "/usr/local/nginx/conf/2_juemuren4449.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:6666/;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
几点说明
- 修改配置之后要重启nginx或者重新加载配置文件
rewrite ^(.*) https://$host$1 permanent;
是强制跳转 http 到 https- ssl_certificate 和 ssl_certificate_key 对应的是证书文件的目录
- 如果使用浏览器访问 https 地址后仍然提示不安全,请检查是否有图片或其他资源文件是非 https
本文由 掘墓人 创作,采用 CC BY-NC-ND 4.0 DEED
,转载或翻译请注明出处。
最后编辑时间为: 2019年02月7日
欢迎关注我的公众号,及时获取最新文章推送。