Tool that allows to proxy your web environment through ssh connections. Could be helpful for cluster of nodes when http ports are hidden from external access by firewall but you have access to these nodes using ssh.
Personally I'm using http-ssh-proxy to access to Spark cluster deployed on AWS and its ports are hidden behind firewall. Two nodes in cluster exist
- master - Master UI have address
10.1.1.1:8080and available directly from my machine without any forwardings. Master node also servers as worker and its UI address is10.1.1.1:8081- this port is not available. I have ssh access only to this node and it sees all nodes and ports in whole cluster - worker - separate machine with worker's responsibility only. UI on
10.1.1.2:8080
To summarize - only master node is visible but using ssh access through it I can access to each other node
Configuration for use case described above
app-port: 8080
start-page: master
hosts:
master:
address: 10.1.1.1:8080
worker-1-8081:
address: 10.1.1.1:8081
forwarding:
server: 10.1.1.1:22
user: ssh-username
private-key: ~/.ssh/id_rsa
password: #in case of password
worker-2-8081:
address: 10.1.1.2:8081
forwarding:
server: 10.1.1.1:22
user: ssh-username
private-key: ~/.ssh/id_rsa
password: #in case of passwordapp-portmain port of the toolstart-pagemain page showing one of defined hosts belowhoststhe list of hosts to be proxied.master,worker-1-8081,worker-2-8081will be used for rewrite links on proxied pageshost.addressaddress you want to proxyhost.forwardinghost can be hidden or not. If it isn't visible you have to open it using ssh port forwarding with settings under this sectionhost.forwarding.serveraddress of ssh server for whichhost.addressis visiblehost.forwarding.user,private-key,passwordssh connection paramaters. Private key or password could be used
go get github.com/nawa/http-ssh-proxy- create
config.ymlin your working folder go run http-ssh-proxy.goorgo build http-ssh-proxy.go && http-ssh-proxy