利用frp内网穿透使flask项目外网访问

 

整体的功能图如下:

frp下载地址:

本地服务器和云主机服务器均需要下载frp,放至任意位置,但要记住路径,自行解压缩

云主机服务器编辑frps.ini

[common]
bind_port = 1234            #frp程序本身需要占用一个端口运行
vhost_http_port = 555      #外网访问的端口,特定的http类型

由于我们打算通过100.10.11.12:555/api/来访问flask,故设置外网访问端口为555,随后运行服务端的frp程序

cd frp                   #定位到frp文件目录
./frps -c ./frps.ini       #运行代码

本地服务器编辑frpc.ini

[common]
server_addr = 100.10.11.12         #所购买的云主机公网IP地址
server_port = 1234                 #frp程序本身占用的端口,要与云主机的bind_port一致


[detect]                       #自定义命名
type = http                    #flask使用的是http类型传输
local_ip = 127.0.0.1           
local_port = 666                  #本地flask部署的端口
remote_port = 555                   #外网访问端口
custom_domains = 100.10.11.12      #http类型端口传输需要指定一个域名,没有域名就写IP地址

随后运行本地服务器的frp程序

cd frp                   #定位到frp文件目录
./frpc -c ./frpc.ini       #运行代码

另外需要提到的是,如果需要从外网ssh远程连接操作内网的服务器,是需要ssh穿透一下,只需在frpc.ini添加一个type为tcp类型的,地址不变,端口要一个新的

部署flask

部署执行代码不尽相同,核心内容如下:

app.run(host='127.0.0.1', port=666, debug=True)

与之前约定的,本地flask部署端口为666,至此所有内容,开机自启动下次再跟。

posted @ 2022-12-22 20:36  南風未起  阅读(716)  评论(0)    收藏  举报