通过 frp 实现内网穿透

本贴最后更新于 2049 天前,其中的信息可能已经沧海桑田

本机调试程序,想通过公网让客户访问,搜到 Ngrok 和 frp 两种方案,对比后发现 frp 实现比较简单,通过 frp 搭建了一套环境。

linux 版 frp 服务端

下载

github 下载

百度网盘下载

我下载的版本是 0.21

安装

直接解压即可。

配置

修改配置文件

vim frps.ini

内容:

[common]
bind_port = 8043
#vhost_http_port = 8045
vhost_https_port = 8044
token = changeit
  • bind_port:是客户端绑定的端口
  • vhost_http_port:是 http 请求的端口,用户通过 http://domainName:8045 访问
  • vhost_https_port:是 https 访问的端口
  • token:为了安全建议设置,客户端配置相同 token

启动

./frps -c ./frps.ini

日志是否打印 Start frps success

windows 版 frp 客户端

下载

github 下载
百度网盘下载

安装

直接解压即可

配置

修改 frpc.ini 文件

[common]
server_addr = 上面搭建服务端的ip
server_port = 8043(上面搭建服务端的bind_port)
token = 123456(上面搭建服务端的token)

[web]
type = https(可以设置http或https)
local_port = 8446
custom_domains = (公网服务器的域名)

启动

在 frp 目录打开 cme,输入 frpc.exe 回车

查看是否有成功日志 [web] start proxy success

安装 Tomcat

我本机是 window 的 Tomcat。

http 设置

修改 Tomcat 的 http 端口为客户端中配置的 local_port,启动 tomcat。

访问 http://公网服务器域名:8045,能看到 Tomcat 的默认页面说明搭建成功。

https 设置

如果要使用 https 需要配置证书。

为本机 Tomcat 生成证书

cmd 下执行下面命令,然后根据提示配置即可。
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "d:\test.tomcat.keystore"

修改 Tomcat 的 server.xml

<Connector port="8446" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"  
               maxThreads="150" scheme="https" secure="true"  
               clientAuth="false" sslProtocol="TLS"  
               keystoreFile="d:\test.tomcat.keystore"  
               keystorePass="changeit" />  

启动 Tomcat,访问 https://公网服务器域名:8045,能看到 Tomcat 的默认页面说明搭建成功。

注意

  • 需要设置防火墙相应端口。阿里云腾讯云需要设置安全组。

参考文档

  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖 • 9 关注
  • 内网穿透
    25 引用 • 144 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...