簡體   English   中英

Kubernetes nginx ingress 添加內部端口

[英]Kubernetes nginx ingress adds internal port

我有一個 Nginx 的 docker 圖像,它為靜態站點提供服務。 該站點由一個文件夾提供,我們稱之為“文件夾”。 當我請求http://mydomain/folder/ 時,它可以工作。 但是,當我請求http://mydomain/folder 時,它會重定向到http://mydomain:8080/folder ,這是容器使用的內部端口。 如何防止我的入口控制器添加端口?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  generation: 1
  labels:
    app.kubernetes.io/instance: administration-env
  name: administration-env-erst-env
  namespace: default
  resourceVersion: "71710149"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/administration-env-erst-env
  uid: c89014d2-60fe-11e9-8a63-000d3a2cc488
spec:
  rules:
  - host: mydomain
    http:
      paths:
      - backend:
          serviceName: administration
          servicePort: 8080
        path: /administration
  tls:
  - hosts:
    - mydomain
    secretName: some-tls-secret
status:
  loadBalancer:
    ingress:
    - ip: xx.xx.xx.xx

您可以嘗試在nginx.conf添加代理傳遞作為解決方法

就像是:

location /folder {
  proxy_pass http://mydomain/folder/;
}

如果您使用的是 nginx 入口,您可以這樣做

nginx.ingress.kubernetes.io/configuration-snippet

對於 nginx 位置塊片段

nginx.ingress.kubernetes.io/server-snippet

對於 nginx 配置服務塊中的一個片段

server-snippets: |
    location /foldername {
      proxy_pass http://yourdomain/folder/;
      proxy_set_header Upgrade $http_upgrade;
      proxy_http_version 1.1;
      proxy_set_header X-Forwarded-Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header Connection "upgrade";
      proxy_cache_bypass $http_upgrade;
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM