这篇文章主要介绍Frp做内网穿透访问家里的Web网站,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
frp做内网穿透访问家里的Web网站frp做内网穿透访问家里的Web网站
服务器端配置
参考之前的文章,在之前文章的基础上再加一个"vhost_http_port"参数,用于接收 HTTP 请求。服务器端的防火墙或者宝塔面板之类的,放行frp用到的端口。需要额外注意,这里的演示的服务器端我用nginx监听了80端口,把来自域名的访问转发到frps使用的8080端口。当然你也可以直接让frps使用80端口。
[common] bind_addr=0.0.0.0 bind_port = 7000 vhost_http_port = 8080 token=12310086 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin123
用 frps执行修改的文件
./frps -c frps.ini
内网提供Web服务的机器设置
内网提供Web端机器设置如下
[common] server_addr = 服务器IP server_port = 7000 token=12310086 [http]#连接名称随意设置,见名知意即可 type = http local_ip = 127.0.0.1 local_port = 80 use_encryption = false use_compression = true custom_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 = admin http_pwd = admin
[common] server_addr = 服务器IP server_port = 7000 token=12310086 [http]#连接名称随意设置,见名知意即可 type = http local_ip = 127.0.0.1 local_port = 80 use_encryption = false use_compression = true http_user = admin http_pwd = admin custom_domains = frp.xxxx.cn #你的域名
执行流程
-
内网端的80端口运行着网站。
-
内网端的frpc读取配置,把内网机器的80端口转发到服务器端的8080端口。
-
在服务器端用nginx监听了80端口,把来自域名的访问请求转发到frps监听的8080端口。
-
服务器端的8080端口又把请求转发到内网的80端口上。
-
就这样反复横跳,实现了通过外网访问内网的web服务。
注意事项
-
尽管服务器端的frps在监听转发8080端口,直接访问公网IP:8080无效。
-
如果同一个内网服务需要绑定多个域名,"custom_domains" 用英文","加其他域名。
-
https证书在服务器端的nginx上配置,也可以使用frp插件在内网端配置
其 他
如果frp反代网站全程只需要一个域名,不同的服务对应不同的二级域名,frps加一个"subdomain_host"参数,参数值填没有前缀的域名,frpc加一个"subdomain"参数,参数值只填域名前缀。,比如我们要访问frp.example.com和tomcat.example.com,两个域名都解析到公网服务器上
frps.ini
[common] bind_addr=0.0.0.0 bind_port = 7000 vhost_http_port = 8080 token=12310086 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin123 subdomain_host= example.com
frpc.ini
[common] server_addr = 103.255.61.100 server_port = 7000 token=12310086 [http] type = http local_ip = 127.0.0.1 local_port = 80 use_encryption = false use_compression = true subdomain = frp [tomecat] type = http local_ip = 127.0.0.1 local_port = 8080 use_encryption = false use_compression = true subdomain = tomcat
以上是“Frp做内网穿透访问家里的Web网站”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/222534.html