我在kubernetes上设置了trapi,一切运行良好,但是当我尝试从我的前端应用程序(运行在HTTPs上)中通过trapi公开的API时,由于Kubernetes入口已在HTTP上公开了trapi,我遇到了错误。我不知道如何为HTTPS请求配置Stradi。如果有人可以引导我,我会很高兴。
答案 0 :(得分:2)
基本上,Ingress提供了TLS终止的不同机制。
如果前端应用程序可以处理https,则应将tls流量路由到相应的服务。如果您的前端应用程序不具备TLS功能,则应使用入口https终止。 https://kubernetes.io/docs/concepts/services-networking/ingress/
http:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 80
来自kubernetes的示例https配置,如果您的服务不执行https,它将显示如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: frontend-application-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- mydomain.com
secretName: mycertificate
rules:
- host: mydomain.com
https:
paths:
- path: /
backend:
serviceName: frontend-application
servicePort: http