Skip to content

Can not forward X-Real-IP #316

@truongnd

Description

@truongnd

I make simple app receive request from client and get X-Real-IP. But it empty
My code:

from http.server import BaseHTTPRequestHandler, HTTPServer

class Handler(BaseHTTPRequestHandler):
def do_GET(self):
real_ip = self.headers.get('X-Real-IP', 'N/A')
forwarded_for = self.headers.get('X-Forwarded-For', 'N/A')

    print(f"X-Real-IP: {real_ip}, X-Forwarded-For: {forwarded_for}")

    self.send_response(200)
    self.end_headers()
    self.wfile.write(f"X-Real-IP: {real_ip}\nX-Forwarded-For: {forwarded_for}\n".encode())

server = HTTPServer(('0.0.0.0', 8080), Handler)
print("Listening on port 8080...")
server.serve_forever()

Ingress:

apiVersion: v1
kind: Service
metadata:
name: ubuntu-service
namespace: default
spec:
selector:
run: ubuntu
ports:
- port: 80
targetPort: 8080

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
namespace: default
spec:
ingressClassName: caddy
rules:

  • host: logis.seedcom.vn
    http:
    paths:
    • backend:
      service:
      name: ubuntu-service
      port:
      number: 80
      path: /testingress
      pathType: Prefix

Result:

Listening on port 8080...
X-Real-IP: N/A, X-Forwarded-For: 10.1.6.3
10.1.119.218 - - [04/Jul/2025 07:49:16] "GET /testingress HTTP/1.1" 200 -

How can i forward request headers by caddy ingress?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions