首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes入口域名重定向

Kubernetes入口域名重定向
EN

Stack Overflow用户
提问于 2019-11-04 13:54:35
回答 3查看 20.6K关注 0票数 6

我想在nginx入口kubernete中重定向域名。

代码语言:javascript
复制
https://test.example.io/preview/qLxiVcDGxCaQ134650121853FTg4

如果在url preview中出现了更改域重定向

代码语言:javascript
复制
https://test.app.example.io/preview/qLxiVcDGxCaQ134650121853FTg4

我所尝试的

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    certmanager.k8s.io/cluster-issuer: staging
    nginx.ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: nginx
  name: staging-ingress
spec:
  rules:
  - host: test.example.io
    http:
      paths:
      - path: /
        backend:
          serviceName: service-1
          servicePort: 80
      - path: /preview/*
        backend:
          url: 
          serviceName: service-2
          servicePort: 80
  tls:
  - hosts:
    - test.example.io
    secretName: staging

对于简单的nginx块,就像这样

代码语言:javascript
复制
location ~ /preview
    {
      rewrite /preview https://test.app.example.com$uri permanent;
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-04 16:36:28

我的逻辑思维,试一下:

代码语言:javascript
复制
metadata:
      annotations:
        nginx.ingress.kubernetes.io/configuration-snippet: |
         rewrite /preview https://test.app.example.com$uri permanent;

spec:
      rules:
      - host: test.example.io
        http:
          paths:
          - path: /
            backend:
              serviceName: service-1
              servicePort: 80
      - host: test.app.example.io
        http:
          paths:
          - path: /preview/*
            backend:
              serviceName: service-2
              servicePort: 80

希望它能起作用!

在上面的代码中:你根本不应该使用:https://test.app.example.io/preview/ (它只是重定向的链接)来访问。

票数 12
EN

Stack Overflow用户

发布于 2019-11-04 17:26:34

使用nginx入口注释

代码语言:javascript
复制
nginx.ingress.kubernetes.io/server-snippet: |
      location ~ /preview {
         rewrite /preview https://test.app.example.com$uri permanent;
      }
票数 2
EN

Stack Overflow用户

发布于 2019-11-04 14:32:33

试试这个-

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    certmanager.k8s.io/cluster-issuer: staging
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    kubernetes.io/ingress.class: nginx
  name: staging-ingress
spec:
  rules:
  - host: test.example.io
    http:
      paths:
      - path: /(.*)
        backend:
          serviceName: service-1
          servicePort: 80
      - path: /preview/(.*)
        backend: 
          serviceName: service-2
          servicePort: 80
  tls:
  - hosts:
    - test.example.io
secretName: staging

您也可以引用this,表示同义类型的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58687909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档