通过frp实现内网穿透

格陵兰鲨鱼王 10月前 ⋅ 305 阅读

本机调试程序,想通过公网让客户访问,搜到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的默认页面说明搭建成功。

注意

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

参考文档

  • https://blog.csdn.net/qq_25351621/article/details/78947477
  • https://cloud.tencent.com/developer/article/1100398

全部评论: 0

    我有话说: