11.15.2. Application Port Forwarding

Configure port forwarding for an application with the following command, ensuring the application is running before doing so:
$ rhc port-forward App_Name

Example 11.20. Configuring Port Forwarding for an Application

$ rhc port-forward myapp
Checking available ports ... done
Forwarding ports ...
Address already in use - bind(2) while forwarding port 8080. Trying local port 8081
Address already in use - bind(2) while forwarding port 8080. Trying local port 8081
Address already in use - bind(2) while forwarding port 8081. Trying local port 8082

To connect to a service running on OpenShift, use the Local address

Service Local                OpenShift
------- --------------- ---- -------------------------------------------------------
haproxy 127.0.0.1:8080   =>  127.9.159.130:8080
haproxy 127.0.0.1:8081   =>  127.9.159.131:8080
httpd   127.0.0.1:8082   =>  127.9.159.129:8080
mysql   127.0.0.1:50226  =>  52347a1d2587c86695111697-mydomain.rhcloud.com:50226

Press CTRL-C to terminate port forwarding
With port forwarding configured, access the remote application with a browser using the local ports.
The current implementation of the rhc port-forward command forwards all open ports on a running application to your local workstation. If an application contains multiple cartridges, the command output shows which remote services are being bound to local ports.
Specific ports are forwarded with the following command. Specify the local port and remote port as required, as well as the gear ID, and application and domain name of the remote port:
$ ssh -L local_port:host:remote_port gear_ID@app-domain.example.com

Example 11.21. Forwarding Specific Ports

$ ssh -L 8080:localhost:8080 70277280b8534c8a9fc76d2734393dfa@racer-auto.example.com
This example allocates a socket to listen to the local port host 8080. When a connection to this port is made, a secure channel forwards the connection to the remote host port 8080.