前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >halo配置 域名和 ssl

halo配置 域名和 ssl

作者头像
leader755
发布2022-03-09 14:27:05
2.8K0
发布2022-03-09 14:27:05
举报

1 .docker 环境

假设 docker 的环境已经安装好了。没有安装好的,参考[《linux 安装 docker》](https://www.yuque.com/docs/share/13e5e304-b57b-41f1-9d79-4698c4933d22?# 《linux 安装 docker》)

2.已申请好域名

3.申请 SSL 证书

我使用的是腾讯云,申请免费的 TrustAsia 的 SSL 证书,阿里云等或者其他平台一般都会提供 TrustAsia 的 SSL 证书的,填好域名等相关信息,一般 10 分钟内就可以下载证书了。

4.配置 Nginx

1>下载 Halo 官方的 Nginx 配置模板

代码语言:javascript
复制
curl -o /etc/nginx/conf.d/halo.conf --create-dirs https://dl.halo.run/config/nginx.conf

2>下载完成之后,使用 vim 编辑 halo.conf

代码语言:javascript
复制
vim / etc / nginx / conf.d / halo.conf;

打开之后我们可以看到

3>配置域名

3.1>不需要 SSL 的情况:

编辑内容如下

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com www.example.com; #此处可以改为自己的域名

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:8090/;
    }
}

配置完后,访问 example.com ww. example.com 的请求会被转发到服务器的 8090 端口自己的博客上

3.2> 需要 SSL 的情况
  • 步骤一:建个目录存放证书文件(不配置 SSL 可忽略),然后把下载的证书放到/data/nginx/conf.d/cert 中
  • 步骤二
      1. 如果不需要访问 http 的时候强制重定向为 https,可以用下面的配置
代码语言:javascript
复制
# 非强制重定向https
server {
    listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
    listen 443 ssl; #侦听443端口,用于SSL
    server_name halo.leader755.com;  # 自己的域名

    #配置 ssl
       ssl_certificate     /etc/nginx/cert/halo.leader755.com/halo.leader755.com.pem;  # pem文件的路径
    ssl_certificate_key  /etc/nginx/cert/halo.leader755.com/halo.leader755.com.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;

    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://115.159.155.102:8090;  # 这里改为自己服务器ip
    }
}
  • 2.如果需要访问 http 的时候强制重定向为 https,可以用下面的配置
代码语言:javascript
复制
# 强制重定向
server {
    listen 80; # 监听80端口
    server_name halo.leader755.com;  # 自己的域名
    #把http的域名请求转成https
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name halo.leader755.com;  # 自己的域名

    # 配置 ssl
      ssl_certificate     /etc/nginx/cert/halo.leader755.com/halo.leader755.com.pem;  # pem文件的路径
    ssl_certificate_key  /etc/nginx/cert/halo.leader755.com/halo.leader755.com.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;
    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://115.159.155.102:8090/; # 这里改为自己服务器ip
    }
}
3.3>检查配置是否有误并且重载 Nginx 配置
代码语言:javascript
复制
1>sudo nginx -t
2>sudo nginx -s reload
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 .docker 环境
  • 2.已申请好域名
  • 3.申请 SSL 证书
  • 4.配置 Nginx
    • 1>下载 Halo 官方的 Nginx 配置模板
      • 2>下载完成之后,使用 vim 编辑 halo.conf
        • 3>配置域名
          • 3.1>不需要 SSL 的情况:
          • 3.2> 需要 SSL 的情况
          • 3.3>检查配置是否有误并且重载 Nginx 配置
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档