AppServiceProxy.SiteExtension 2.0.3

dotnet add package AppServiceProxy.SiteExtension --version 2.0.3                
NuGet\Install-Package AppServiceProxy.SiteExtension -Version 2.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AppServiceProxy.SiteExtension" Version="2.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AppServiceProxy.SiteExtension --version 2.0.3                
#r "nuget: AppServiceProxy.SiteExtension, 2.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AppServiceProxy.SiteExtension as a Cake Addin
#addin nuget:?package=AppServiceProxy.SiteExtension&version=2.0.3

// Install AppServiceProxy.SiteExtension as a Cake Tool
#tool nuget:?package=AppServiceProxy.SiteExtension&version=2.0.3                

App Service Proxy Site Extension

Build Downloads NuGet License Terraform Registry

Site Extension-based Reverse Proxy compatible with Azure Functions Proxies

Motivation

With the permanent removal of Azure Functions Proxies from Azure Functions v4, there is no longer a readily available and inexpensive L7 reverse proxy in Azure.

This project provides an alternative implementation of a VNET-integrated gateway built using Azure Functions Proxies, and secure proxies authenticated in combination with App Service Authentication.

Features

  • All features of the App Service is available
    • App Service Authentication
    • Custom Domain
    • SSL / TLS (Managed Certificate / Key Vault Certificate)
    • VNET Integration
    • Service Endpoint / Private Endpoint
  • .NET 7 and YARP-based high-performance reverse proxy
  • Compatibility with Azure Functions Proxies (proxies.json)
  • Easy to setup with Azure Portal or ARM Template
  • Support for Git integration and CI pipelines

Quick Start

Azure (Public) Azure China Azure Government
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fshibayan%2FAppServiceProxy.SiteExtension%2Fmaster%2Fazuredeploy.json" target="_blank"><img src="https://aka.ms/deploytoazurebutton" /></a> <a href="https://portal.azure.cn/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fshibayan%2FAppServiceProxy.SiteExtension%2Fmaster%2Fazuredeploy.json" target="_blank"><img src="https://aka.ms/deploytoazurebutton" /></a> <a href="https://portal.azure.us/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fshibayan%2FAppServiceProxy.SiteExtension%2Fmaster%2Fazuredeploy.json" target="_blank"><img src="https://aka.ms/deploytoazurebutton" /></a>

Manual Installation

Since this application is based on .NET 7 and Site Extension, it requires a App Service (Windows) with .NET 7 enabled.

You need to specify the App Service Proxy or AppServiceProxy.SiteExtension for installation.

Azure Portal

site extensions

ARM Template

{
  "apiVersion": "2022-09-01",
  "name": "AppServiceProxy.SiteExtension",
  "type": "siteextensions",
  "dependsOn": [
    "[resourceId('Microsoft.Web/sites', variables('webAppName'))]"
  ]
}

Bicep

resource symbolicname 'Microsoft.Web/sites/siteextensions@2022-09-01' = {
  name: '${webApp.name}/AppServiceProxy.SiteExtension'
}

Terraform

See also App Service Proxy Terraform module repository.

Usage

Create proxies.json into wwwroot directory.

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "proxy1": {
      "matchCondition": {
        "methods": [ "GET" ],
        "route": "/{*path}"
      },
      "backendUri": "https://shibayan.jp/{path}"
    }
  }
}

Appendix: proxies.json Reference

License

This project is licensed under the MIT License

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.3 118 10/3/2024
2.0.2 395 11/19/2023
2.0.1 250 10/30/2023
2.0.0 417 2/14/2023
1.0.4 509 8/8/2022
1.0.3 483 5/4/2022
1.0.2 426 11/14/2021
1.0.1 372 11/13/2021
1.0.0 339 11/13/2021