Many HTTP servers support HTTP proxying. Clients send an HTTP CONNECT request to the server, asking that a connection be set up to a machine on the other side of the firewall. A tunnel is set up through the HTTP server. Please refer to the topic Proxies for more information on this.
HTTP proxying is set up using the ProxySettings group of properties.
Firstly, the protocol must be chosen via the ProxyType. The default is NoProxy. The Http option should be chosen out of the list of supported protocols.
The ProxyAddress must be set, and optionally the ProxyPort. Generally the UserName and Password properties must also be set, although some HTTP proxies are configured to not required a user name and password.
It should be noted that HTTP proxies do not support client requests to listen on an externally accessible port. This means for FTP and FTPS, only passive mode transfers are supported. Active mode transfers involve the FTP server connecting back to the client, and this is not possible via an HTTP proxy.
SFTP does not have active or passive mode and so generally has no trouble using HTTP proxies.