使用代理連接外網服務器


不想聽嘮叨,直接翻到 搭建 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 兩次了。

其他

這個工具有些可以做得更好的地方。

  • 並不自適應移動端。
  • 登錄信息明文傳輸。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM