-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
前言
身边经常有如下的场景:
- 你在家办公,在公司的同事想看你本地修改的项目,或相反。
- 有些项目,需要域名访问。
- 运维团队部署条件太苛刻
- 临时性的小project,用docker等部署方式显得杀鸡用牛刀。
本文是通过ssh的port forwarding来实现免部署,公网IP直接访问本地项目。
准备工作:
- 需要一台外网能访问的服务器
- ssh
本地模拟一个web项目
新建一个http.py:
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
class DemoHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write('hello world')
return
if __name__ == '__main__':
server = HTTPServer(('localhost', 8000), DemoHandler)
server.serve_forever()
然后运行:$ python http.py
打开浏览器输入 http://127.0.0.1:8000/
能看到hello world。
ssh端口
新开一个终端,输入命令:
$ ssh -NR \*:8000:127.0.0.1:8000 host
关于命令的解释,可以查看man手册或这篇文章Metasploit利用云服务器端口转发,实现内网穿透
然后打开浏览器,输入:
http://host_ip:8000 或 http://[域名]:8000 可以看到本地项目的 hello world。