Kubernetes Nginx入口添加内部端口

时间:2019-04-17 12:07:21

标签: nginx kubernetes

我有一个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

2 个答案:

答案 0 :(得分:1)

您可以尝试在nginx.conf

中添加代理密码

类似:

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

答案 1 :(得分:0)

如果您使用的是nginx入口,则可以这样做

qr/^(\d+)%$(??{$^N>= 80 ? '':'^'})/

  

获取nginx位置阻止代码段

nginx.ingress.kubernetes.io/configuration-snippet

  

nginx config服务块中的代码段

nginx.ingress.kubernetes.io/server-snippet