2 min Devops

Microsoft releases YARP 1.0

Microsoft releases YARP 1.0

The release is a highly customisable reverse proxy built around .NET

This week Microsoft announced the release of YARP 1.0. The company is hailing the release as a “highly customisable” reverse proxy built using the .NET framework. A key feature is that YARP is supplied as a library and includes samples showing how to create a proxy customised to the needs of a user’s specific scenarios.

Sam Spencer, Program Manager for Microsoft’s .NET Core team, announced the release in a blog post. He says YARP is a toolkit for building reverse proxy servers in .NET using the infrastructure from ASP.NET and .NET. It is apparently the end result of an internal project to deliver an open source reverse proxy server, following requests from teams within the company who were either building a reverse proxy for their service or seeking technology for building one.

“The biggest differentiator between YARP and other reverse proxies is how it is built and packaged,” Spencer writes. “YARP is supplied as a library and samples showing how to create a proxy that is customized to the needs of your specific scenarios.”

What is a YARP?

YARP stands for “Yet Another Reverse Proxy.” Reverse proxies listen to incoming HTTP requests and forward the requests to appropriate servers based on the contents of the request. Unlike a typical firewall/router which acts at layer 4 (TCP/IP), reverse proxies typically work at layer 7 so they understand http and work based on http fields.

“YARP is a project to deliver an open-source reverse proxy server based on .NET,” Spencer explains. “It started almost two years ago when we noticed a pattern of questions from teams at Microsoft who were either building a reverse proxy for their service or had been asking about APIs and technology for building one. We decided to get them all together to work on a common solution, which became YARP.”

YARP plugs into ASP.NET as middleware for handling incoming requests, and offers two main paths for users to either take the tool and simply use it, or to customise it.