通过SSH运行Web应用程序

时间:2011-09-08 10:02:11

标签: web-applications ssh

我有一个VMWare虚拟Linux服务器,我在其上安装了Java EE Web应用程序。我通过SSH访问服务器。

我的问题是我如何通过ssh运行远程网络应用程序?

我所做的是通过ssh启动远程tomcat服务器 然后在我的浏览器中我调用了这个地址:

 http://<ssh-server-host>:8080

连接耗时很长,我的firefox无法建立连接b / c需要太长时间。

是否有通过ssh运行网络应用的简洁方法?

2 个答案:

答案 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隧道是神奇的。