通过上一篇文章FRPC 使用教程-智慧的格子衫,你已经学会了基础的frpc的使用方式。
或许你会有以下困扰:
访问的时候需要采用 ip+端口的方式,比如 http://106.54.226.170:8001/ ,ip和端口不容易记住
我配置了域名,但是因为端口被占用,访问的时候是 http://it.fu520.top:10098/ ,必须要加上端口
因为服务本身是http的,映射出来也只能是http,使用浏览器访问的时候总是提示网站不安全(确实不安全,有被拦截的风险)。
.... 或许还有其他困扰
格子衫免费教你如何解决这些问题!
本站的根域名是 fu520.top,以下内容以此为例
域名需要申请,并且进行备案,流程比较复杂,本文不再阐述,如果不会申请域名但是想使用域名,可以使用本站的域名,详情联系我
一、域名绑定:告别 IP 地址记忆
1.1 基础域名配置
当您拥有一个域名后,可以轻松实现通过域名访问内网服务。
例如,我现在搭建了一个it-tools 工具网站,我想使用我的域名访问。
在 frpc.toml 中加上如下配置
[[proxies]]
name = "it-tools"
type = "http"
localPort = 40116
subdomain = "it"在frps.toml中配置加上如下配置
vhost_http_port = 8110
vhost_https_port = 8111
subdomainHost = "fu520.top"重启 FRPS 和 FRPC 服务,就可以实现域名访问
http://it.fu520.top:10098/
这个地址是配置到这一步的地址,现在已经是更高级的访问方式,这个访问方式已经无法使用,请继续阅读本文
二、配置Https:安全增强
如果你有了域名,就可以申请免费的SSL证书,必须是泛域名证书。有常用的申请工具有 acme.sh等。
HTTPS 配置
有了证书之后,可以在服务端的nginx上配置指定的https证书,然后使用http转发到frp
server {
listen 2443 ssl;
server_name *.fu520.top;
# 证书文件
ssl_certificate /proxy/cert/fu520.top/cert.crt;
# 私钥文件
ssl_certificate_key /proxy/cert/fu520.top/cert.key;
ssl_session_timeout 5m;
# 请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
# 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
proxy_ssl_server_name on;
proxy_set_header Upgrade $http_upgrade; # WebSocket
proxy_set_header Connection 'Upgrade'; # WebSocket
proxy_set_header Host $host;
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:8110; # Frp http通信端口
}
}此时访问就可以实现域名访问,并且浏览器不会再抛出此网站不安全的警告
https://it.fu520.top:2443/
这个地址是配置到这一步的地址,现在已经是更高级的访问方式,这个访问方式已经无法使用,请继续阅读本文
三、隐藏非标准端口(两种方式)
3.1 方案一:服务端的443端口可以使用,未被占用
可以直接通过nginx转发,将上述 Nginx 配置第二行的端口改成443即可。
3.2 方案二:CDN转发
此方案可以省略 Nginx,由cdn直接转发到Frps,在CDN处配置 https的证书,并且将http 强制转换为 https请求
注:CDN 本质就是缓存,可以进一步提高网站的响应速率,但是CDN本身需要付费,比较便宜,一年20RMB足矣
CDN 不仅可以加速内容分发,还能帮助隐藏实际端口:
用户 -> CDN(80/443) -> FRPS(非标准端口) -> FRPC -> 内网服务以腾讯云 CDN 为例:


至此已配置完毕
本站采用 cnd(强制转换https),以 https回源至 服务器Nginx,nginx映射到frps,使用http方式穿透到家庭主机。
最终配置成如下可访问地址:IT Tools
https://it.fu520.top
通过本文介绍的高级配置,您可以将 FRP 从简单的端口转发工具升级为功能完善的企业级反向代理解决方案。域名绑定让服务访问更加专业易记,CDN 整合则大幅提升了访问体验和安全性。结合 HTTPS 加密、访问控制等安全措施,您可以构建出既方便又安全的内网服务暴露方案。
如果本文有不懂的,或者想进一步交流,可以联系我
评论区