通过SSH运行web应用程序

问题描述:

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

我的问题是我怎样才能通过SSH运行远程Web应用程序?

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

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

连接了很长时间和B/C时间过我的Firefox无法建立连接长。

有没有一种干净的方式来通过SSH运行Web应用程序?

+0

你应该使用'https'而不是'http'作为开始。您需要配置Web服务器,以便知道密钥的位置。 –

你在做什么也可以称为SSH隧道。它的优点是您的流量将被加密,但速度也会稍慢(由ssh完成加密/解密),并且会占用更多的资源。此外,隧道必须保持开放才能访问端点。

该技术特别有用,如果您不希望使服务可以远程访问,但仍想私下使用。

例如,我有一个CouchDB的服务器侦听在localhost:5984,在我的主人“server1的” 我可以在端口22222本地访问端口在我的台式电脑,这样做:

desktop $ ssh -f [email protected] -L localhost:22222:server1:5984 -N 

这样我就可以访问我的远程couchdb:

curl -X GET http://localhost:22222 

即使远程couchdb服务器只能监听本地连接。 SSH隧道使神奇。

+0

这是我在上面回答我描述的相同的方法吗? – othman

+0

是的,这是相同的技术。你请求了反馈,所以我添加了这个回复。 – dangonfast

+0

谢谢。这解决了这个问题。 – othman

使用称为ssh端口转发我做了以下的技术:

$ssh -N -f -L 8080:localhost:8080 [email protected] 

的连接被转发到端口8080的远程服务器上。 我打开网络浏览器并输入网址http://localhost:8080/webapp

它似乎这个作品!

有关此方法的任何意见?