使用群晖搭建halo博客

家里买了一台Nas,并且开通了动态公网IP,但是80端口和443端口都是被封禁的。

所以访问Nas上的服务总是需要带上端口号。

我们可以使用域名解析的隐性Url转发隐藏端口号,也可以购买一台云服务器自己做类似的隐性Url转发。这样访问群晖服务就可以不带端口号,并且带宽不会受云服务器带宽限制。

最终效果:访问 blog.vvhz.com 即可访问部署在本地Nas上的halo博客服务。带宽为本地的光纤上传带宽50M。

前提:

1.群晖+动态公网ip

2.一台云服务器最低配置即可

3.域名+DDNS

访问流程:

blog.vvhz.com 解析到云服务器nginx,nginx做一层转发,转发到群晖的 ddns.vvhz.com:8089上,这样可以去掉群晖的端口号。

需要用frameset做页面嵌套,否则会占用公网的带宽。

server {
    listen 80; # 监听80端口
    server_name blog.vvhz.com;  # 自己的域名
    #把http的域名请求转成https
    return 301 https://$host$request_uri;
}
server {
        listen 443 ssl;
        server_name blog.vvhz.com;
        client_max_body_size 100m;
        ssl_certificate /home/soft/nginx/cert/vvhz.com/vvhz.com_bundle.crt;
        ssl_certificate_key /home/soft/nginx/cert/vvhz.com/vvhz.com.key;
        location / {
            root /home/soft/nginx/web/blog;
            index index.html;
            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;
        }
        location /admin {
            root /home/soft/nginx/web/blog;
            index admin.html;
            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;
        }
    }
<html lang="zh_CN">
        <head>
                <meta charset="utf-8">
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2">
                <title>日志</title>
                <link rel="icon" href="favicon.ico" type ="image/x-icon">
        </head>
        <frameset rows="100%">
                <frame src="https://ddns.vvhz.com:8089/journals"></frame>
        </frameset>
</html>

ddns.vvhz.com使用花生壳ddns解析到群晖的ip上。

群晖使用docker启动centos镜像。

centos镜像中安装nginx,启动halo服务端。

安装nginx监听8089端口,并配置ssl证书,然后转发到halo的8089端口上。

server {
       listen 8089 ssl;
        listen 5554;
        client_max_body_size 100m;
       server_name blog.vvhz.com;
        ssl_certificate /home/soft/nginx/cert/vvhz.com/vvhz.com_bundle.crt;
        ssl_certificate_key /home/soft/nginx/cert/vvhz.com/vvhz.com.key;
    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://192.168.31.90:8090/;  # 这里改为自己服务器ip
    }
}

整个流程使用同一个一级域名,然后申请一个泛域名的ssl证书,*.vvhz.com。

网上有免费申请泛域名SSL证书的教程。

如何白piao一个免费的泛域名SSL证书_Throwable文摘的博客-CSDN博客


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值