33[ ![ npm version] ( https://badge.fury.io/js/tailscale-lambda-proxy.svg )] ( https://badge.fury.io/js/tailscale-lambda-proxy )
44[ ![ PyPI version] ( https://badge.fury.io/py/tailscale-lambda-proxy.svg )] ( https://badge.fury.io/py/tailscale-lambda-proxy )
55
6+ - [ Tailscale Lambda Proxy] ( #tailscale-lambda-proxy )
7+ - [ Why use a proxy?] ( #why-use-a-proxy )
8+ - [ Usage] ( #usage )
9+ - [ Installation] ( #installation )
10+ - [ Accessing your Tailscale Network through the Proxy] ( #accessing-your-tailscale-network-through-the-proxy )
11+ - [ Signing Requests] ( #signing-requests )
12+ - [ Including Target Headers] ( #including-target-headers )
13+ - [ Creating CloudWatch Tracking Metrics] ( #creating-cloudwatch-tracking-metrics )
14+ - [ Error Handling] ( #error-handling )
15+ - [ Code Examples] ( #code-examples )
16+ - [ Additional Information] ( #additional-information )
17+
618A CDK construct that creates an AWS Lambda Function acting as a transparent proxy to your Tailscale network.
719
820Available as both a TypeScript NPM Package and a Python PyPi Package:
@@ -101,13 +113,13 @@ Key considerations when using the Proxy:
1011131 . All requests must be signed with the IAM Signature V4 algorithm.
1021142 . The target machine's IP address and port must be included in the headers when making requests to the Proxy.
103115
104- #### Signing Requests
116+ ### Signing Requests
105117
106118The Proxy Lambda exposes a Function URL secured with IAM Authentication. The caller Lambda requires this URL and
107119IAM permissions to make requests. These requests must be signed with the IAM Signature V4 algorithm. For TypeScript,
108120use the [ aws4] ( https://www.npmjs.com/package/aws4 ) package to sign requests.
109121
110- #### Including Target Headers
122+ ### Including Target Headers
111123
112124When calling the Proxy, include the following headers to specify the target machine:
113125- ` ts-target-ip ` : The IP address of the Tailscale-connected machine/device.
@@ -133,6 +145,7 @@ Example headers for a request:
133145- ` ts-metric-dimension-value ` : ` rehan-test-client ` , identifying the specific client.
134146
135147This configuration generates CloudWatch metrics similar to the screenshot below:
148+
136149![ tailscale-cloudwatch-metric.png] ( _imgs/tailscale-cloudwatch-metric.png )
137150
138151### Error Handling
0 commit comments