首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring cloud数据流服务器cloud foundry重定向到https

问spring cloud数据流服务器cloud foundry重定向到https
EN

Stack Overflow用户
提问于 2017-09-12 00:17:24
回答 1查看 345关注 0票数 0

我已经在这个问题上挣扎了几天了。我想将Spring Cloud Data Flow Server for Cloud Foundry部署到我的组织的企业Pivotal Cloud Foundry实例。我的问题是强制所有数据流服务器web请求到TLS/HTTPS。下面是我尝试过的一个配置示例:

代码语言:javascript
复制
# manifest.yml
---
applications:
- name: gdp-dataflow-server
  buildpack: java_buildpack_offline
  host: dataflow-server
  memory: 2G
  disk_quota: 2G
  instances: 1
  path: spring-cloud-dataflow-server-cloudfoundry-1.2.3.RELEASE.jar
  env:
    SPRING_APPLICATION_NAME: dataflow-server
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_URL: https://api.system.x.x.io
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_ORG: my-org
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SPACE: my-space
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN: my-domain.io
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME: user
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD: pass
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_SERVICES: dataflow-mq
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_BUILDPACK: java_buildpack_offline
    SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_SERVICES: dataflow-db
    SPRING_APPLICATION_JSON: |
      {
        "server": {
          "use-forward-headers": true,
          "tomcat": {
            "remote-ip-header": "x-forwarded-for",
            "protocol-header": "x-forwarded-proto"
          }
        },
        "management": {
          "context-path": "/management",
          "security": {
            "enabled": true
          }
        },
        "security": {
          "require-ssl": true,
          "basic": {
            "enabled": true,
            "realm": "Data Flow Server"
          },
          "user": {
            "name": "dataflow-admin",
            "password": "nimda-wolfatad"
          }
        }
services:
  dataflow-db
  dataflow-redis

尽管SPRING_APPLICATION_JSON中有security块,数据流服务器的web端点仍然可以通过不安全的HTTP访问。如何强制所有请求都使用HTTPS?我是否需要为Cloud Foundry定制自己的数据流服务器版本?我知道PCF的代理在负载均衡器终止SSL/TLS,但是配置转发报头应该促使Spring Security/Tomcat按照我想要的方式运行,不是吗?我肯定遗漏了一些显而易见的东西,因为这似乎是一个共同的愿望,不应该如此困难。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-09-12 06:29:05

Spring Boot没有任何开箱即用的功能来启用/禁用HTTPS,同时也可以拦截和自动重定向普通的HTTPS。

有几篇在线文献介绍了如何在Spring Boot (参见)中编写一个自定义的Configuration类来接受多连接器。

Spring Cloud Data Flow (SCDF)是一个简单的Spring Boot应用程序,因此所有这些都适用于SCDF服务器。

也就是说,如果您打算在整个应用程序交互中强制执行HTTPS,那么可以在Elastic Runtime中应用一个PCF设置Disable HTTP traffic to HAProxy作为全局覆盖-请参阅docs。这将一直应用于所有应用程序,而不仅仅是Spring Boot或SCDF。甚至可以强制Python或Node或其他类型的应用程序通过HTTPS与此设置进行交互。

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

https://stackoverflow.com/questions/46160136

复制
相关文章

相似问题

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