Aaron Li's Blog

In solitude, where we are least alone.

一名萌新程序员


Press on avatar to see the blogs.

蜗牛星际+Frp+Caddy+Cloudflare折腾记

一段时间没有折腾什么东西,感觉人都颓废了。

前一阵蜗牛星际炸雷了之后,网上很多小机箱搞的很火爆。鉴于一直想搞一个NAS但又苦于昂贵的价格,赶上这班车直接就剁了一个A款。

选择A款的原因,其实是因为便宜,在一个有个外面板不会直接漏硬盘在外面,网上有很多对比评测。

黑裙的系统是918(其实马爸爸家的卖家都会给装好),google上也有很多就不复读了。

下面正文开始。

1. 利用Frp内网穿透

迫于没有公网IP,以及黑裙,只能走反向代理的方式从外网访问,这时候Frp就很重要了。

要使用Frpc,首先需要安装docker,在套件中心的第三方中找到Docker,安装。

在Docker中的注册表搜索frpc,安装oldiy/frpc这一映像,详见使用说明

服务器端安装详见Frp 的 GitHub page

安装好之后frpc.ini以及vps上的frps.ini参考如下:

1 Port to Subdomain

对于有域名的同学,可以直接使用Frp将内网的端口映射到外网的subdomain,可以直接实现访问,由于黑裙的原因,证书申请有些问题,https访问会有insecure的提示,可以将local_port设置为5000走http访问(5000为默认Http端口,5001为默认Https端口,可以更改)。

NAS端配置文件:

[common]
server_addr = [your ip]
server_port = [your port]
token = [your token]
tcp_mux = true

[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
subdomain = nas

Server配置文件,默认路径/etc/frps/frps.ini,取决于frps解压路径:

[common]
bind_port = [your port]
log_file = ./frps.log
log_level = info
log_max_days = 3
token =  [your token]
max_pool_count = 50
tcp_mux = true
subdomain_host = your.domain

访问方式 https://nas.your.domain

2 Port to Port

对于没有域名(或想使用caddy申请证书)的同学,可以采用映射port的方法,配置文件如下。

NAS端配置文件:

[common]
server_addr = [your ip]
server_port = [your port]
token = [your token]
tcp_mux = true

[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
remote_port = 5001

Server配置文件,最后一行可有可无:

[common]
bind_port = [your port]
log_file = ./frps.log
log_level = info
log_max_days = 3
token =  [your token]
max_pool_count = 50
tcp_mux = true
#subdomain_host = your.domain

访问方式 https://[your ip]:5001

2. 利用Caddy反向代理

对于有域名又不想麻烦申请证书的同学,可以用Caddy做反向代理,使用上面Port to Port的方式。

Caddy的使用教程详见Caddy 的 Github page

简单的CaddyFile如下:

nas.your.domain {
    tls your@email.com

    proxy / https://127.0.0.1:5001 {
        insecure_skip_verify
    }
}

访问方式 https://nas.your.domain

3. 利用Cloudfare CDN加速

对于访问速度慢的VPS,或不想暴露真实IP的同学,可以使用CDN加速,这里推荐Cloudfare的免费CDN。

Caddy的安装文件需要在网站上定制(增加cloudflare的支持),在Download界面Plugin中添加dns.cloudflare

Caddy的配置文件也需要相应修改:

nas.your.domain {
    tls {
        dns cloudflare
    }

    proxy / https://127.0.0.1:5001 {
        insecure_skip_verify
    }
}

CloudFlare设置好DNS解析,并将Cloudflare nameservers加入到VPS的DNS nameserver中,详见Changing your domain nameservers to Cloudflare

访问方式 https://nas.your.domain

Reference

Frp 的 Github page
oldiy/frpc
Caddy 的 Github page
Changing your domain nameservers to Cloudflare

最近的文章

老电脑焕发第二春,Thinkpad X201i复活记

老电脑系列第一篇,介绍Thinkpad X201i拆机,清灰,更换风扇、硬盘、电池、以及增加内存的过程。

继续阅读
更早的文章

用 Windows Application 访问 UEFI variable

本文介绍如何通过Windows API实现在Windows OS下对UEFI variable的访问。

继续阅读
Top