惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
The Register - Security
The Register - Security
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
Recorded Future
Recorded Future
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
B
Blog
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MyScale Blog
MyScale Blog
L
LangChain Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
月光博客
月光博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
The Last Watchdog
The Last Watchdog
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
G
GRAHAM CLULEY
腾讯CDC
Cyberwarzone
Cyberwarzone
爱范儿
爱范儿
I
Intezer
SecWiki News
SecWiki News

方寸之間

修复 Arch Linux 的内核缺失问题 - 方寸之間 安装定制化 Vim - 方寸之間 树莓派配置旁路由过程记录 - 方寸之間 Cloudflare Tunnel 不完全上手指南 - 方寸之間 解除 New Bing 地区和浏览器限制的方法 - 方寸之間 深入理解 Linux nohup 命令 - 方寸之間 C++智能指针是什么 - 方寸之間 PGP 工作原理详解 - 方寸之間 如何恢复 Windows EFI 分区 - 方寸之間 Scaleway IPV6 server 申请及使用攻略 - 方寸之間 Arch Linux 升级系统提示签名无效 - 方寸之間 Arch Linux 音响有杂音的解决办法 - 方寸之間 Arch Linux 如何切换内核 - 方寸之間 Django 项目时区更改错误的解决方案 - 方寸之間 超简单的 Arch Linux + Windows 双启动教程 - 方寸之間 使用 UFW 配置 Linux 防火墙 - 方寸之間 Git 中的一个特殊 hash - 方寸之間 深入理解数据库事务 - 方寸之間 CRLF 和 LF 之间的区别与联系 - 方寸之間 DNS 的更新是如何工作的? - 方寸之間 浅析 Linux 的 cron 命令 - 方寸之間 如何快速查看 github 代码库中早期 commits - 方寸之間 黑科技:使用 GitHub 搭建自己的短链接服务 - 方寸之間 Build site with Franklin.jl - 方寸之間 iwd 的使用教程 - 方寸之間 超好用的 UML 工具推荐 - 方寸之間 ArchLinux 安装配置笔记 (Updated) - 方寸之間 如何将 Julia 添加到 Jupyter Notebook - 方寸之間 费曼技巧:最好的学习方式 - 方寸之間 How to Create Linux Desktop Entry - 方寸之間 Make a TODO robot with Github Actions - 方寸之間 C++继承 多态 虚函数 - 方寸之間 C++ inline 关键字详解 - 方寸之間 C++ Static 关键字详解 - 方寸之間 C++ type conversion notes - 方寸之間 Solution for _CRT_SECURE_NO_WARNINGS error - 方寸之間 IR Homework - 方寸之間 Customize Ubuntu themes, icons and Shell - 方寸之間 恢复右键菜单的新建命令 - 方寸之間 Hugo+Github 搭建个人博客 - 方寸之間
FRP 上手教程 - 方寸之間
Mercas · 2023-03-25 · via 方寸之間

前言#

最近把在角落里吃灰的树莓派拿了出来,搭建了一个 wordpress 网站,感觉还不错,不过因为连的是家里的 WiFi,所以只能内网访问,所以就准备用内网穿透工具配置一下外网访问。之前内网穿透都是用的 Cloudflare 的 tunnel,免费,配置很简单,而且直接上自家的 CDN 网络,但是由于众所周知的原因,Cloudflare 的服务在国内访问速度感人,但是勉强还能用。不过最近在 Github 上的 Trending 里看到了这个frp,看了一下文档,发现这个工具配置起来超简单,刚好有台服务器,所以就直接上手了。

个人配置

Client: Raspberrypi 4B + Ubuntu 20.04

Server: Ubuntu 20.04

安装配置 frp#

服务器端配置#

下载解压 frp 文件,注意安装包的架构:

wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_amd64.tar.gz

tar zxvf frp_0.46.1_linux_amd64.tar.gz

cd frp_0.46.1_linux_arm64/

配置流程稍稍与客户端配置不同,但是更简单,只需要编辑frps.ini配置文件,设置监听 HTTP 请求端口,这里我使用的 8080 端口:

[common]

bind_port = 7000 # frp 服务的监听端口

vhost_http_port = 8080

p.s. 不要忘记开放服务器的防火墙端口。

客户端配置#

下载解压 frp 文件,因为我用的是树莓派,所以下载 arm64 的包:

wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_arm64.tar.gz

tar zxvf frp_0.46.1_linux_arm64.tar.gz

编辑frpc.ini配置文件,设置服务器的 IP 地址a.b.c.d及本地机器上 Web 服务监听的端口,并绑定自定义域名:

[common]

server_addr = a.b.c.d

server_port = 7000

[web]

type = http

local_port = 3000

custom_domains = www.yourdomain.com #这里设置域名

到这里就可以使用了,分别启动服务端和客户端即可。

# 服务端

./frps -c ./frps.ini

# 客户端

./frpc -c ./frpc.ini

通过http://www.yourdomain.com即可访问 web 服务。p.s. 不要忘记将www.yourdomain.com的域名 A 记录映射到服务器的 IP。

Caddy 配置#

不过因为我的服务器上还部署了其他的 web 服务,使用了 caddy 进行反向代理,所以还需要一点额外的配置。编辑 caddy 的配置文件/etc/caddy/Caddyfile,添加新域名的反向代理:

www.yourdomain.com {

reverse_proxy localhost:8080

}

重新启动 caddy 服务:

sudo systemctl restart caddy

现在就可以通过https://www.yourdomain.com访问内网的 web 服务了,而且 Auto HTTPS!!

参考#

https://github.com/fatedier/frp/

https://gofrp.org/docs/