如何在本地计算机上查看远程服务器上的网页?

假设远程服务器上有个网页http://localhost:8890/conductor/。我想在本地计算机上浏览。
本地计算机和远程服务器都在一个局域网下(校园网)。
本地计算机是windows系统。

方法1:ssh端口转发

参考博客

前文提到的假设情况,需要使用远程转发。假如我想把远程服务器上的端口8081转发到本地计算机的端口8082,则需要如下:

ssh -R 8082:localhost:8081 -N user_name@user_ip

则前文的假设需要的代码是:

ssh -R 8890:localhost:8890 -N user_name@user_ip

然后本地计算机可以直接访问到:http://localhost:8890/conductor/

注意点
  • 需要远程计算机可以ssh访问本地计算机。

因此本地计算机需要安装openssh。win10离线安装openssh。已测有效。我用的离线是因为我电脑里直接通过应用搜索安装搜不到openssh服务器,如果能搜到就直接安。

  • ssh不知道密码是什么。

注意密码是电脑账号密码,密码不能为空!微软官网有解答自动拒绝空密码的账户登录或连接

其他服务器问题

本地可以ping远程的服务器,但服务器不能ping本地。已测有效。

win10安装telnet。已测有效。

方法2:借助包ngrok

目前了解的可以端口转发或者快速构建web并支持端口转发的包有ngrok、flask、uvicorn、gradio。
其中gradio用的ngrok。我主要查了下ngrok的用法。

ngrok安装

ngrok包可以绕过ssh。官网教程

ngrok的使用需要NGROK_AUTHTOKEN。可以在官网注册获得。
安装:wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
官网是直接在管理员账号下安装的。
但是我在远程服务器上没有管理员账号,所以我在个人账户下安装了ngrok。
个人账户下如果没有bin目录可以手动创建。即~/bin。以及把这个路径~/bin放到环境变量path里。

tar xvzf ./ngrok-v3-stable-linux-amd64.tgz -C ~/bin
ngrok authtoken NGROK_AUTHTOKEN

NGROK_AUTHTOKEN是前文在官网注册后获得的token。
ngrok diagnose可以诊断ngrok运行bug。

ngrok转发

直接远程服务器上运行:

ngrok http http://localhost:8890

可能报错:Running the agent with an http/s proxy is an enterprise feature. If this is unexpected, verify that there is no proxy_url value in your ngrok configuration file and that the http_proxy environment variable is not set.
这是因为设置了代理。这种情况下ngrok的运行需要付费。可以如下取消代理:

unset http_proxy
unset https_proxy
存在的问题:免费使用需要绕过代理

但是ngrok需要联网使用。我使用的远程服务器上是没有网的,需要用我本地计算机的代理。
报错9009
因此陷入了一个死循环:

ngrok不能用代理->关闭远程服务器的代理设置->远程服务器没网->ngrok需要有网->远程服务器需要设置代理->ngrok不能用代理。。。

stackflow上的相同情况
stackflow上说需要设置配置文件。官方文档
配置文件在~/.config/ngrok/ngrok.yml。安装的时候就会自动生成。但是实际上配置里的proxy_url是设置代理,可以被环境变量中的http_proxyhttps_proxy覆盖。目前我没有找到能绕过代理的方式。ngrok官网的说法也是如果要基于代理就使用非免费版。

因此我最后没有用ngrok来转发。但是如果远程服务器上本来能联网不需要代理,可能可以正常使用ngrok。

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值