Skip to content

Commit 78b5003

Browse files
Add Tailscale Ingress and enable forwarded headers middleware
Add Tailscale Ingress resource to k8s/deployment.yaml for TLS-terminated access via calendar-mcp.tail920062.ts.net. Enable UseForwardedHeaders in Program.cs so X-Forwarded-Proto/Host are trusted from reverse proxies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent a34e307 commit 78b5003

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

k8s/deployment.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,25 @@ spec:
7878
name: http
7979
selector:
8080
app: calendar-mcp
81+
---
82+
apiVersion: networking.k8s.io/v1
83+
kind: Ingress
84+
metadata:
85+
name: calendar-mcp-tailscale
86+
annotations:
87+
tailscale.com/hostname: calendar-mcp
88+
spec:
89+
ingressClassName: tailscale
90+
tls:
91+
- hosts:
92+
- calendar-mcp.tail920062.ts.net
93+
rules:
94+
- http:
95+
paths:
96+
- path: /
97+
pathType: Prefix
98+
backend:
99+
service:
100+
name: calendar-mcp
101+
port:
102+
number: 8080

src/CalendarMcp.HttpServer/Program.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using CalendarMcp.HttpServer.BlazorAdmin;
55
using Microsoft.AspNetCore.Authentication.Cookies;
66
using Microsoft.AspNetCore.Components.Authorization;
7+
using Microsoft.AspNetCore.HttpOverrides;
78
using OpenTelemetry.Logs;
89
using OpenTelemetry.Resources;
910
using Scalar.AspNetCore;
@@ -150,6 +151,11 @@ public static void Main(string[] args)
150151

151152
var app = builder.Build();
152153

154+
// Trust forwarded headers from reverse proxies (e.g., Tailscale Ingress)
155+
app.UseForwardedHeaders(new ForwardedHeadersOptions
156+
{
157+
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
158+
});
153159
app.MapStaticAssets();
154160
app.UseAuthentication();
155161
app.UseAuthorization();

0 commit comments

Comments
 (0)