yiorgos

reverse-proxy-1

Dec 18th, 2024 (edited)
521
0
Never
10
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 1.73 KB | None | 0 0
  1. # Assuming Docker Desktop Kubernetes, the following command fetches
  2. # a joke from api.chucknorris.io via an nginx reverse proxy:
  3. # curl -k -v -H "Host: chucknorris.local" https://kubernetes.docker.internal/jokes/random
  4. ---
  5. apiVersion: cert-manager.io/v1
  6. kind: ClusterIssuer
  7. metadata:
  8.   name: chucknorris
  9. spec:
  10.   selfSigned: {}
  11. ---
  12. apiVersion: v1
  13. kind: ConfigMap
  14. metadata:
  15.   name: server-conf
  16. data:
  17.   server.conf: |
  18.    server {
  19.       listen 0.0.0.0:8080;
  20.       server_name _;
  21.       root /app;
  22.       location / {
  23.         proxy_pass https://api.chucknorris.io;
  24.         proxy_set_header Host api.chucknorris.io;
  25.         proxy_ssl_name api.chucknorris.io;
  26.         proxy_ssl_server_name on;
  27.       }
  28.     }
  29. ---
  30. apiVersion: apps/v1
  31. kind: Deployment
  32. metadata:
  33.   labels:
  34.     app: nginx
  35.   name: nginx
  36. spec:
  37.   replicas: 1
  38.   selector:
  39.     matchLabels:
  40.       app: nginx
  41.   template:
  42.     metadata:
  43.       labels:
  44.         app: nginx
  45.     spec:
  46.       volumes:
  47.       - name: server-conf
  48.         configMap:
  49.           name: server-conf
  50.       containers:
  51.       - image: bitnami/nginx
  52.         name: nginx
  53.         ports:
  54.         - containerPort: 8080
  55.         volumeMounts:
  56.         - name: server-conf
  57.           mountPath: /opt/bitnami/nginx/conf/server_blocks
  58. ---
  59. apiVersion: networking.k8s.io/v1
  60. kind: Ingress
  61. metadata:
  62.   annotations:
  63.     cert-manager.io/cluster-issuer: "chucknorris"
  64.   name: chucknorris
  65. spec:
  66.   ingressClassName: nginx
  67.   tls:
  68.   - hosts:
  69.    - chucknorris.local
  70.     secretName: chucknorris-local
  71.   rules:
  72.   - host: chucknorris.local
  73.     http:
  74.       paths:
  75.       - path: /
  76.         pathType: Prefix
  77.         backend:
  78.           service:
  79.             name: nginx
  80.             port:
  81.               number: 8080
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment