Working with Firewall Tunneling

Tunneling is not available for MS Windows OS.

Remote debugging is the process of creating a connection between two machines: For example, the machine on which the client (IDE) resides and the machine on which the Zend Server resides. When these machines are on the same local network or there are no security devices that limit remote connections, no additional action is required. However, if one or both of the machines are behind a firewall, the communication required to run the debug process is not allowed. To allow debugging and still maintain a secure environment, you need to use firewall tunneling.

After a firewall tunnel is created, instead of assigning more communication ports for the Debug / Profile Sessions with the remote server, all communication between your IDE and the remote server proceeds through the tunnel.

Note for Windows OS users: Tunneling does not work when Zend Server is installed on a Windows-based server. However, you can perform remote debugging to a machine behind a firewall as long as the correct ports are open on both ends.

The tunnel communication port should be used in the following circumstances:

  1. When debugging or profiling files on a remote server which is behind a firewall or other security device.

  2. Establishing communication between Zend Studio and Zend Server when Zend Server is running on a remote server which is behind a firewall or other security device. The communication between Zend Studio and Zend Server facilitates the integration of Zend Server event reporting capabilities with Zend Studio’s editing, debugging and profiling features, and makes it more effective.

To set up a tunneling connection, several configuration settings must be defined, both in Zend Studio and on your server's debugger. This can be done through Zend Server , Zend Platform, Zend Core or your php.ini file.