我有一个VMWare虚拟Linux服务器,我在其上安装了Java EE Web应用程序。我通过SSH访问服务器。
我的问题是我如何通过ssh运行远程网络应用程序?
我所做的是通过ssh启动远程tomcat服务器 然后在我的浏览器中我调用了这个地址:
http://<ssh-server-host>:8080
连接耗时很长,我的firefox无法建立连接b / c需要太长时间。
是否有通过ssh运行网络应用的简洁方法?
答案 0 :(得分:0)
使用一种名为ssh port forwarding的技术,我做了以下工作:
$ssh -N -f -L 8080:localhost:8080 user@ssh-server-host
连接被转发到远程服务器上的端口8080。
我打开一个Web浏览器并输入网址http://localhost:8080/webapp
关于此方法的任何评论?
答案 1 :(得分:0)
您正在做的事情也可以称为ssh隧道。它的优点是您的流量将被加密,但它也会慢一些(加密/解密由ssh完成),并且资源更加密集。此外,隧道必须保持打开才能访问端点。
如果您对远程访问服务不感兴趣,但仍希望私下使用,该技术特别有用。
例如,我有一个couchdb服务器监听localhost:5984,在我的主机“server1”中 我可以通过以下方式在我的桌面计算机的端口22222中本地访问该端口:
desktop $ ssh -f user@server1 -L localhost:22222:server1:5984 -N
这样我可以访问我的远程couchdb:
curl -X GET http://localhost:22222
即使远程couchdb服务器只是监听本地连接。 SSH隧道是神奇的。