frp: 给内网web服务添加https支持
frp可以为没有公网地址(ipv4或ipv6)的主机提供外网访问的能力。本文记录了为web服务添加https支持的方法。
ssl证书申请
可通过lucky万吉-SSL/TLS证书模块为域名申请Let’s Encrypt证书,完成后下载证书并解压,得到.crt,.key(还有.pem和_issuerCertificate.crt,这里用不上)。
服务端frps.toml
1 | # frps.toml |
ssl证书文件放在公网主机/root/ssl目录下。
客户端frpc.toml
1 | serverAddr = "公网主机ip" |
ssl证书文件放在内网主机/root/ssl目录下。
域名解析设置
把设置https访问的域名(本文中media.qs100371.vip)的A记录指向公网主机ip。
https访问
重启服务端frps和客户端frpc服务后就可在浏览器上用https://media.qs100371.vip访问内网的飞牛服务器。
服务端面板通过https://f.qs100371.vip:7500访问。

客户端面板通过http://192.168.0.4:7400访问。
新问题
客户端重启后,frpc服务会启动失败,再次手动启动就成功了,原因是frpc需要延迟启动。
修改frpc.toml:
1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=frpc
After=network.target
[Service]
ExecStartPre=/bin/sleep 60
ExecStart=/root/frp/frpc -c /root/frp/frpc.toml
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target
再运行:
1
systemctl dameon-reload ; systemctl restart frpc
延迟60秒再启动frpc。经测试重启后frpc运行正常。
1 | [Unit] |
1 | systemctl dameon-reload ; systemctl restart frpc |
最近申请了腾讯云一个月2C2G带宽3M主机试用,配置了一个frps服务器,能够正常使用内网穿透,只有在穿透视频播放有时会有点卡,毕竟最大带宽只有3Mbps(375kb/s)。相对STUN内网穿透能用满最大上传带宽(一般家用宽带上传10M-50M或更高),frp严重受制于公网主机的带宽(低价主机一般带宽1M-5M)。
详细设置过程需配合frp内网穿透的使用方法使用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 折腾日记!
评论