什么是内网穿透
在内网中访问外网服务或者在外网中访问内网服务时,就需要进行内网穿透;
内网穿透工具是一种用于将内网服务暴到公网的工具,它可以帮助用户在没有公网IP或无法进行端口映射的情况下,实现对内网服务的访问。通过内网穿透工具,用户可以将内网服务器的服务映射到公网上,从而实现对内网服务的远程访问。
Go语言中实现微信支付或支付宝支付的内网穿透时,最常用的工具包括:Ngrok,frp...
ngrok的Windows使用
1.注册新账号
打开ngork官网,注册新账号,登录
2.下载安装ngork.exe
运行以下命令将您的authtoken添加到默认的ngrok.yml配置文件中。
ngrok config add-authtoken 2ccmFZekYkCehelpbAdTGizOx46_6rA1RsUymHjY9uMAJ8nar
3.在线部署应用
将您的应用程序在线临时域转发到您的上游服务。例如,如果它正在侦听端口http://localhost:8080,运行:
ngrok http http://localhost:8080
4.访问资源
点击Ctrl+
就可以访问8080进程,如我的系统,然后可以去注册登录,正常访问就可以
只要8080进程开放,其他电脑也可以远程访问连接
端口页面
其中:一旦运行,您的端点将在端点页面上列出。
前往端点页面,可以查看到侦听端口
Web检测界面
ngrok代理附带了一个实时检查接口,允许您查看发送到上游服务的流量以及它返回的响应。
1.检查请求
通过隧道的每个HTTP请求都将显示在检查界面中。启动ngrok代理后,在同一台机器上的浏览器中打开http://localhost:4040。您将看到每个请求和响应的所有详细信息,包括时间,持续时间,源IP,报头,查询参数,请求有效负载和响应主体以及线路上的原始字节。
检查界面有一些限制。如果实体正文太长,ngrok可能只捕获请求正文的初始部分。此外,ngrok不显示来自服务器的临时100响应。
检查仅支持HTTP隧道。TCP和TLS隧道不支持任何检查,并且不会显示在检查界面中。
2.打开http://localhost:4040查看具体请求
在同一台机器上的浏览器中打开http://localhost:4040。
3.点击Replay,可以修改接口
请求 GET http://localhost:8080/api/v1/captcha 成功,实现访问