Baemin Unveils 'ITDA', a Tunneling Proxy for Checking Local Web Development in the App Without Deployment
Key point
Baemin has developed 'ITDA', a tunneling-based proxy system that lets developers instantly check their local web environment in the app without going through a deployment process.
Details
Baemin has a hybrid structure combining a native app and webview, which caused inefficiencies during web development, requiring complex procedures such as beta deployment and cache invalidation. To solve this, the company developed 'ITDA' (Instant Tunnel for Development Apps), a tunneling-based proxy system optimized for the internal environment.
Choosing a Traffic Switching Method
After reviewing three methods for switching traffic to the development environment, Baemin adopted the 302 Redirect method using CloudFront Function (CFF).
- CFF Rewrite: A method that only changes the internal destination; rejected because it was difficult to meet security requirements
- In-app host routing: A method that branches at the app's native layer; rejected because adding a domain required app modification and deployment
- CFF Redirect: Identifies requests intended for ITDA and directs them to re-request the proxy, clearly separating traffic without app modification; adopted
How 'ITDA' Works
'ITDA' establishes a tunnel by pre-establishing a WebSocket connection between the developer's local computer and the ITDA proxy.
- Request identification: When a user selects the ITDA profile in the beta app, CFF checks the
remote_config_profilevalue in the request header. - Delivering routing information: For requests intended for ITDA, routing information is included in a cookie and 302 Redirected to the proxy.
- Tunnel matching: The proxy compares the information in the cookie with registered routing rules to find the tunnel connected to that developer's local server and forwards the request.
- Multiplexing: Within a single WebSocket tunnel, a unique ID is assigned to each request to efficiently handle various resources such as HTML, JS, and CSS.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.