1 内网穿透
你在本地开发了一个网站,通过内网穿透工具映射到一个公网ip,别人就能直接通过公网ip访问了,本文是对内网穿透工具的汇总。
1、如我用python的flask框架开发了一个小网站:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True, host='127.0.0.1', port='8080')
2、在自己电脑浏览器中输入ip地址和端口号就能访问:
3、但如何想让别人也能访问,必须进行内网穿透,获取一个公网ip,将公网ip发给别人之后就能正常访问了。
2 工具汇总
2.1 localhost.run
1、这个使用最简单,不需要下载任何软件,简单一行ssh命令就行。
ssh -R 80:localhost:8080 nokey@localhost.run
- -R命令表示反向端口转发
- 80是被指定的转发端口
- localhost是你局域网ip地址(对应127.0.0.1)
- 8080是你的局域网端口号
- nokey@localhost.run是一台处在公网的服务器
2、亲测Windows上使用不了,一进公网ip连接就断开了,最好还是在Linux远程机上使用。
3、因为是免费的,所有也有一定的限制。
4、综上,localhost.run提供的内网穿透操作起来最简单,但只适合临时使用。
2.2 ngrok
1、进入官网,下载适合你电脑系统的软件并安装。
2、我这里以Linux (AMD64)例,首先使用wget
命令下载。
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
3、使用unzip
命令解压。
unzip ngrok-stable-linux-amd64.zip
4、对flask
或其它框架搭建的网站的端口进行转发(8080是你需要转发的端口号)。
./ngrok http 8080
5、转发后就能得到随机的公网ip,但有效时长是2小时,因为你没有注册,注册账号没有时长限制。
6、注册账号后,首先用ngrok给你的令牌建立账号连接。
./ngrok authtoken *************************************************
7、然后再使用以下命令进行端口转发。
./ngrok http 8080
8、可以看到没有时长限制了。
9、免费账号使用起来仍有一些限制,具体如下。
10、综上,如果不注册账号,ngrok可以临时使用2小时;注册账号后,生成的公网ip可以一直使用。
2.3 frp
frp主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。也就是说,你必须要自己购买一台公网服务器,用来跑服务端,需要被穿透的电脑来跑客户端。作为白嫖党,这里就不再说明了。如果你自己购买的有腾讯或阿里的云服务器,请参考这篇文章配置frp。
2.4 花生壳
1、到官网下载对应操作系统的软件安装包(这里以Windows为例)。
2、安装后微信扫码登录。
3、点击右下角的加号添加内网映射。
4、浏览器地址栏输入外网域名即可访问。
3 温馨提示
对于内网linux服务器来说,搭配tmux使用更佳,可以让网站一直挂载在服务器上。
4 引用参考
转载:https://blog.csdn.net/qq_42951560/article/details/117154863