Description
The SSH tunnel for on-premise connectivity in CF adaptation projects is skipped when running in BAS (Business Application Studio). The connectivity proxy host is rewritten to localhost, but no tunnel is created to listen on that port.
Steps to Reproduce
Steps to reproduce the behavior:
- Open a CF adaptation project in BAS that uses an on-premise destination
- Start the preview
- Requests to on-premise backend fail
Expected results
The SSH tunnel is established and on-premise requests are proxied successfully.
Actual results
No SSH tunnel is started. On-premise connectivity fails because nothing listens on localhost for the forwarded port.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
- Package: @sap-ux/backend-proxy-middleware-cf
- Environment: SAP Business Application Studio
Root Cause Analysis
Problem
startSshTunnelIfNeeded had an early return when isAppStudio() was true, skipping
tunnel creation entirely. Meanwhile, applyToProcessEnv still rewrites
onpremise_proxy_host to localhost regardless — so requests target localhost but
nothing is listening.
Fix
Remove the isAppStudio() guard so the SSH tunnel is created in BAS as well.
Why was it missed
The assumption was that BAS handles on-premise connectivity natively, so the tunnel was considered unnecessary.
Description
The SSH tunnel for on-premise connectivity in CF adaptation projects is skipped when running in BAS (Business Application Studio). The connectivity proxy host is rewritten to localhost, but no tunnel is created to listen on that port.
Steps to Reproduce
Steps to reproduce the behavior:
Expected results
The SSH tunnel is established and on-premise requests are proxied successfully.
Actual results
No SSH tunnel is started. On-premise connectivity fails because nothing listens on localhost for the forwarded port.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Root Cause Analysis
Problem
startSshTunnelIfNeededhad an early return when isAppStudio() was true, skippingtunnel creation entirely. Meanwhile, applyToProcessEnv still rewrites
onpremise_proxy_host to localhost regardless — so requests target localhost but
nothing is listening.
Fix
Remove the
isAppStudio()guard so the SSH tunnel is created in BAS as well.Why was it missed
The assumption was that BAS handles on-premise connectivity natively, so the tunnel was considered unnecessary.