我在我的大学(瑞尔森大学)攻读计算机科学类(class),并且正在学习 perl 编程。
我们学习的方式是在我们大学的服务器上托管 perl 脚本并使用它们进行操作。
我不在大学,大学的服务器对哪些 IP 可以使用 www2 子域(这是运行 perl 脚本的子域)非常严格。我正在使用的 IP 让我出错:
禁止
您无权访问此服务器上的/~w3dixon/cgi-bin/lab4.cgi。
Apache/2.2.22 (Debian) 服务器位于 www2.scs.ryerson.ca 端口 80
Here's the link, if you want to try to access the script yourself.
所以我被屏蔽了。通常我会联系系统管理员并让他们解除对我的阻止,但是今晚要发布一个有效的 perl 脚本。 (我也尝试过使用 VPN,它也被阻止了)。
我的解决方案是使用我 mac 上的终端和/或我 PC 上的 Putty 通过 SSH 连接到 Ryerson 的服务器,并使用 unix 命令“lynx”运行我的脚本(因为它们没有阻止自己的 IP)。
我取得了一些成功,直到我尝试使用 html 表单中的 perl get 方法(我从 https://www.tutorialspoint.com/perl/perl_cgi.htm 复制粘贴了一个脚本只是为了开始,看看语法正确的代码是否可以与我的 lynx 策略一起正常工作).
因此,当我在大学使用终端(使用谷歌浏览器)编写脚本时,我的脚本运行良好。
Ryerson(我的大学)没有设置远程访问程序(ssh 除外),但是有没有办法在我机器上安装的 GUI 浏览器上通过他们的服务器访问我的网页?
请您参考如下方法:
SSH 隧道很可能是执行您想要的操作的最可行和最简单的方法。像这样设置隧道:
ssh -L8080:www2.scs.ryerson.ca:80 username@www2.scs.ryerson.ca
如果 www2 服务器不是您通过 SSH 访问的主机,只需将命令中的第二个实例替换为 SSH 服务器即可。
我在这里使用端口 8080,因为这样可以减轻您对 root 权限的需求。
现在,在您本地工作站的浏览器中,浏览至:
http://localhost:8080




