使用frp进行内网穿透:请求内网服务器的服务

当在外网需要对内网的接口请求服务的时候需要进行内网穿透,可以选择frp这样的工具进行转发。
frp分为服务端和客户端,服务端是一个外网可以访问的服务器,客户端是需要转发的服务器。

首先需要下载自己所需要的版本,解压在对应地方。
接着先配服务端:编辑frps.ini 把内容替换成这个:
要确保端口端口都开了

[common]
bind_port = 39001
vhost_https_port = 39002		#当代理出来的是web服务时,在外网访问
dashboard_port = 39003
#dashboard_user访问用户dashboard_pwd访问密码
dashboard_user = admin
dashboard_pwd = password
#log_file日志文件log_level记录的日志级别log_max_days日志留存3天authentication_timeout超时时间
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 0
#max_pool_count最大链接池,每个代理预先与后端服务器建立起指定数量的最大链接数
max_pool_count = 50

然后对./frps 进行 chomd 775,不然会报错。
接着 ./frps -c frps.init 启动服务,可以用nohup挂起

在ip:dashboard_port 看到图像界面标识这一步成功

接着配服务端:
在服务器里再次把原始的包解压开,打开frpc.ini

[common]
server_addr = ip
server_port = 39001  


[ssh]
type = tcp 
local_ip = 127.0.0.1 
local_port = 6011 
remote_port = 5000 



里面踩的坑:(1)首先文件里不要打注释,可能会报错。
(2) sever_port 要对应bind_port,不然会报错。

然后启动./frpc -c ./frpc.ini,在面板里看到tcp的端口则标识成功。

接着我们用flask进行一个小测试进行数据的获取:
首先先把服务端运行的frp断开,在服务端里建一个flask的文件,端口就写刚刚转发的,但ip一定要写0.0.0.0,不然不可以访问…

from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def index():
    return '

Hello,Flask

' app.run('0.0.0.0',6011)

然后我们再启动frp.ini
访问 ip:6011 就可以获得了
在这里插入图片描述

你可能感兴趣的:(flask,python)