使用代理连接外网服务器
不想听唠叨,直接翻到 搭建 web 终端
。
切勿使用服务器做危险的事情
之前 $18/年 的服务器 B 机, 用了差不多 1 年, 还挺 hi 的, 主要用来测试 demo 玩一玩,另外一个就是大家懂的上网功能了。
上个月也就大概 6 月左右, 朋友说给他玩下~ 好吧, 玩着玩着他问我怎么上不了网了。。。
>> ping x.x.x.x
PING x.x.x.x (x.x.x.x): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
^C
--- x.x.x.x ping statistics ---
6 packets transmitted, 0 packets received, 100.0% packet loss
看网上有文章说,可以解封的。但是我关了所有服务,等了一个月,没解。
另外一个解决方法是更换 ip , 但是好像要 10 几美元,唉这顶我大半年服务器费用了。
因为还有另一台服务器 A 机,可以上外网,所以我打算用它作为代理登录B机。最普通的使用方法是先 SSH 到 A 机, 再从 A 机里 SSH 到 B 机。
这样同一个步骤要做两次,可真是麻烦。
如何解决这个麻烦呢?之前有用过不少 web 端可以使用控制台的功能,并且相信大家也都使用过服务器提供商的 web 控制台功能。
所以我想搭建这个一个 web 服务器。
搭建 web 终端
百度了几个 webssh 工具,最终选择 https://github.com/huashengdun/webssh
。
服用方式:
pip install webssh # 安装
wssh --address=\'0.0.0.0\' --port=8011 --fbidhttp=False --xsrf=False xsrf_cookies=True # 允许外网访问并关闭跨域限制
使 A 机代理访问:
# Nginx 代理配置示例
location / {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_read_timeout 300;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
}
注, 如果 nginx 没有配置好, xsrf 选项形同虚设。
好了, 这样就可以在 A 机的 WEB 服务器上直接登录 B 机了, 再也不用 SSH 两次了。
其他
这个工具有些可以做得更好的地方。
- 并不自适应移动端。
- 登录信息明文传输。