[英]Want (internal) name for service while running nginx ingress controller kubernetes
[英]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.