打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
frp做内网穿透访问家里的Web网站

服务器端配置

服务器端的配置,参考之前的文章:用FRP做内网穿透使用远程桌面连接家里的windows电脑。参考之前的文章,在之前文章的基础上再加一个'vhost_http_port'参数,用于接收 HTTP 请求。服务器端的防火墙或者宝塔面板之类的,放行frp用到的端口。需要额外注意,这里的演示的服务器端我用nginx监听了80端口,把来自域名的访问转发到frps使用的8080端口。当然你也可以直接让frps使用80端口。

[common]bind_addr=0.0.0.0bind_port = 7000vhost_http_port = 8080token=12310086dashboard_port = 7500dashboard_user = admindashboard_pwd = admin123

用 frps执行修改的文件

./frps -c frps.ini

内网提供Web服务的机器设置

内网提供Web端机器设置如下

[common]server_addr = 服务器IPserver_port = 7000token=12310086[http]#连接名称随意设置,见名知意即可type = httplocal_ip = 127.0.0.1local_port = 80use_encryption = falseuse_compression = truecustom_domains = frp.xxxx.cn #你的域名

说明

'use_encryption'是否启用加密,我这里选择不启用,可以根据情况启用。'use_compression'是否压缩数据,压缩了传输速度会快那么一些,自行测试快多少。'custom_domains'是绑定的访问域名,必须设置,不设置无法启动frpc。

./frpc -c frpc.ini

当frpc连上frps时候,在frps端会有反馈,面板里也能看到有一个新连接。

然后把绑定的域名解析到服务器端的ip上,就可以用域名访问到内网的机器了。访问时候frps会有连接提示。

如果frpc没有启动会报下面错误。

访问控制

如果希望加上一层访问控制,在frpc.ini对应的http服务配置中加上'http_user'和“http_pwd”参数:

http_user = adminhttp_pwd = admin
[common]server_addr = 服务器IPserver_port = 7000token=12310086[http]#连接名称随意设置,见名知意即可type = httplocal_ip = 127.0.0.1local_port = 80use_encryption = falseuse_compression = truehttp_user = adminhttp_pwd = admincustom_domains = frp.xxxx.cn #你的域名

执行流程

  1. 内网端的80端口运行着网站。
  2. 内网端的frpc读取配置,把内网机器的80端口转发到服务器端的8080端口。
  3. 在服务器端用nginx监听了80端口,把来自域名的访问请求转发到frps监听的8080端口。
  4. 服务器端的8080端口又把请求转发到内网的80端口上。
  5. 就这样反复横跳,实现了通过外网访问内网的web服务。

注意事项

  1. 尽管服务器端的frps在监听转发8080端口,直接访问公网IP:8080无效。
  2. 如果同一个内网服务需要绑定多个域名,'custom_domains' 用英文','加其他域名。
  3. https证书在服务器端的nginx上配置,也可以使用frp插件在内网端配置

其他

如果frp反代网站全程只需要一个域名,不同的服务对应不同的二级域名,frps加一个'subdomain_host'参数,参数值填没有前缀的域名,frpc加一个'subdomain'参数,参数值只填域名前缀。,比如我们要访问frp.example.com和tomcat.example.com,两个域名都解析到公网服务器上

frps.ini

[common]bind_addr=0.0.0.0bind_port = 7000vhost_http_port = 8080token=12310086dashboard_port = 7500dashboard_user = admindashboard_pwd = admin123subdomain_host= example.com

frpc.ini

[common]server_addr = 103.255.61.100server_port = 7000token=12310086[http]type = httplocal_ip = 127.0.0.1local_port = 80use_encryption = falseuse_compression = truesubdomain = frp[tomecat]type = httplocal_ip = 127.0.0.1local_port = 8080use_encryption = falseuse_compression = truesubdomain = tomcat
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
群晖NAS安装配置免费frp内网穿透教程
黑群晖配合 frp 无公网IP实现远程连接(图文并茂)
没有公网IP的机器如何能被外网访问
FRP:配置反向代理与内网穿透
谈一谈|远程访问本地设备
如何用 Frp 实现外网访问群晖 NAS
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服