Nginx 一个域使用CNAME指向另一个kubernetes入口主机域

Nginx 一个域使用CNAME指向另一个kubernetes入口主机域,nginx,kubernetes,Nginx,Kubernetes,我的设置如下: 一个kubernetes群集,带有用于部署A的nginx入口。入口到部署具有主机example.com的配置。我希望abc.com指向example.com使用CNAME,但它总是抛出SSL错误。如果我理解正确,您需要使用 请参见下面的示例: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/rewrite-target: /$

我的设置如下:


一个kubernetes群集,带有用于部署A的nginx入口。入口到部署具有主机
example.com
的配置。我希望
abc.com
指向
example.com
使用CNAME,但它总是抛出SSL错误。

如果我理解正确,您需要使用

请参见下面的示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /something(/|$)(.*)
在此入口定义中,(*)捕获的任何字符都将 分配给占位符
$2
,然后在中用作参数 重写目标注释。例如,入口定义 上述操作将导致以下重写:

-rewrite.bar.com/something
重写为
rewrite.bar.com/

-rewrite.bar.com/something/
重写为
rewrite.bar.com/

-rewrite.bar.com/something/new
重写为
rewrite.bar.com/new

如果有帮助,请告诉我

编辑: 更多选择:

  • 创建额外的
    入口

  • 使用HTTP(80)并生成SSL证书


不,这不能回答我的问题。如果你仔细阅读,我有两个不同的领域。你的答案只有一个。谢谢你。我知道了另外一件事:)我明白了。在这种情况下,您可以创建其他“入口”。无论如何,如果这不能解决您的问题,请提供更多详细信息(YAML、配置)。我们需要更多地了解您的用例以帮助您。谢谢@OhHiMark。我可以通过将它指向HTTP(80)并生成SSL证书来解决我的问题。这是我找到的唯一解决办法。很高兴听到这个。考虑把这个作为答案,或者我可以编辑我的包括你的信息,如果你愿意。