本机调试程序,想通过公网让客户访问,搜到 Ngrok 和 frp 两种方案,对比后发现 frp 实现比较简单,通过 frp 搭建了一套环境。
linux 版 frp 服务端
下载
我下载的版本是 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 客户端
下载
安装
直接解压即可
配置
修改 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 的默认页面说明搭建成功。
注意
- 需要设置防火墙相应端口。阿里云腾讯云需要设置安全组。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于