Spring cloud 跳过返回http URL的https rest端点请求

Spring cloud 跳过返回http URL的https rest端点请求,spring-cloud,spring-cloud-stream,spring-cloud-dataflow,Spring Cloud,Spring Cloud Stream,Spring Cloud Dataflow,我正在尝试使用Spring云数据流的poc,并让应用程序iis在Pivotal cloud Foundry中运行。在kubernetes和spring dataflow server仪表板中尝试相同操作,但未加载。已调试该问题,并发现根本原因是仪表板加载时,它试图命中Skipper rest端点/api,这将返回一个响应,其中包含Skipper中其他端点的URL,但返回的URL都在http中。如何强制skipper返回https URL而不是http?下面是我尝试卷曲相同端点时的响应 C:>旋度

我正在尝试使用Spring云数据流的poc,并让应用程序iis在Pivotal cloud Foundry中运行。在kubernetes和spring dataflow server仪表板中尝试相同操作,但未加载。已调试该问题,并发现根本原因是仪表板加载时,它试图命中Skipper rest端点/api,这将返回一个响应,其中包含Skipper中其他端点的URL,但返回的URL都在http中。如何强制skipper返回https URL而不是http?下面是我尝试卷曲相同端点时的响应

C:>旋度-khttps:///api

船长的答复


根本原因是skipper/api端点为尝试重定向的/deployer和kubernetes入口返回http URL,并被308错误阻止。在下面添加到skipper env属性,这解决了该问题

部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: skipper-server
spec:
      containers:
      env:
        - name: "server.tomcat.internal-proxies"
          value: ".*"
        - name: "server.use-forward-headers"
          value:  "true"**
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: skipper-server
  annotations:
    **nginx.ingress.kubernetes.io/ssl-redirect: false**
入口

apiVersion: apps/v1
kind: Deployment
metadata:
  name: skipper-server
spec:
      containers:
      env:
        - name: "server.tomcat.internal-proxies"
          value: ".*"
        - name: "server.use-forward-headers"
          value:  "true"**
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: skipper-server
  annotations:
    **nginx.ingress.kubernetes.io/ssl-redirect: false**
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: skipper-server
  annotations:
    **nginx.ingress.kubernetes.io/ssl-redirect: false**