Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

NGINX Lambda Gateway

License

NotificationsYou must be signed in to change notification settings

nginx-serverless/nginx-lambda-gateway

Introduction

This project provides a working configuration of NGINX configured to act as an authenticating gateway for the AWS Lambda service. This allows you to proxy a private Lambda function without requiring users to authenticate to it via AWS signature.

Within the proxy layer ofnginx-lambda-gateway, additional functionality can be configured such as:

  • Providing an AWS signature based authentication gateway using an alternative authenticationsystem to AWS Lambda functions
  • For internal/micro services that can't authenticate against the AWS Lambda functions(e.g. don't have libraries available) the gateway can provide a meansto accessing Lambda functions without authentication
  • Protecting Lambda functions from arbitrary public access
  • For internal/micro services that can't authenticate against the AWS Lambda functions
  • Rate limiting AWS Lambda functions
  • Authenticating users to authorize AWS Lambda functions with aOIDC
  • Protecting AWS Lambda functions with aWAF

Getting Started

Refer to theGetting Started Guide for how to build and run the gateway.

Directory Structure and File Descriptions

nginx-lambda-gateway│├── common│   ├── etc│   │   ├── nginx                   default nginx-lambda-gateway configuration│   │   └── ssl                     contains certificates and NGINX Plus license│   ├── lambda-core│   │   ├── awscredentials.js       common lib to read and write AWS credentials│   │   ├── awssig2.js              common lib to build AWS signature v2│   │   ├── awssig4.js              common lib to build AWS signature v4│   │   ├── lambdagateway.js        common lib to integrate the Lambda from NGINX│   │   ├── lambda_ngx_apis.conf    API endpoints config for nginx-lambda-gateway│   │   ├── lambda_ngx_http.conf    common config under NGINX http directive│   │   ├── lambda_ngx_proxy.conf   common config to be set before proxy_pass│   │   └── utils.js                common lib to be reused by all NJS codebase│   └── lambda-emulator             proxy for Lambda Runtime API to locally test│├── docker│   ├── Dockerfile.oss              for NGINX OSS  to act as a Lambda gateway│   └── Dockerfile.plus             for NGINX Plus to act as a Lambda gateway│├── docker-compose.yml              Docker config to build and run nginx-lambda-gateway├── settings.env                    Docker env file│├── docs                            contains documentation about the project│├── examples│   ├── 01-all-lambda-function-arns NGINX proxy to all Lambda function ARNs│   ├── 02-one-lambda-function-arn  NGINX proxy to one Lambda function ARN│   ├── 03-one-lambda-function-url  NGINX proxy to one Lambda function URL│   └── 04-lambda-function-arn-url  NGINX proxy to both of Lambda function ARN and URL│├── tests                           test launcher and unit/integration test codebase│└── Makefile                        automate to build/start/stop nginx-lambda-gateway

Development

Refer to theDevelopment Guide for more information about extending or testing the gateway.

License

All code include is licensed under theApache 2.0 license.

Inspired Projects

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp