首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在关键云铸造中使用带弹簧引导的可信SSL证书

在关键云铸造中使用带弹簧引导的可信SSL证书
EN

Stack Overflow用户
提问于 2020-06-24 16:45:59
回答 1查看 671关注 0票数 0

我对SSL证书这个话题很陌生,我想安装我购买的SSL,这样当用户进入我的站点时,他们将不会看到不受信任的证书,这里是我迄今为止所做的步骤

keytool

  • created
  1. 使用步骤1中文件中的csr文件创建了一个p12文件,
  2. 将csr上传到我的ssl供应商,并在通过对我的域的验证之后,下载了以下文件:.crt、..ca bundle、.p7b文件

我将所有文件(包括我生成的文件)放置在资源目录中,并添加了以下属性

代码语言:javascript
复制
server.ssl.key-store:classpath:myFile.p12
server.ssl.key-store-password:some_pass
server.ssl.keyStoreType:PKCS12
server.ssl.keyAlias:someAlias

后来我运行了以下命令: keytool试图将我从ssl供应商获得的文件导入到我创建的文件( -importcert )中。

而不是我创建了我的jar并将其上传到关键的云铸造厂,但是我仍然看到了无效的证书消息。

我不知道是否需要在关键平台上做些什么,或者在spring启动配置上做些什么。

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 14:32:32

唯一可行的方法是使用TCP路由。使用Cloud上的标准HTTP路由,流量首先会达到负载均衡器&然后是Gorouter。TLS终止将发生在那里,而不是在您的申请。如果使用TCP路由,这将在TCP级别加载平衡,并允许应用程序直接执行TLS终止。

尽管如此,你真的不想那样做。TCP路由不可能允许您选择端口443,因为一个端口只能分配给一个应用程序。这意味着只有一个使用TCP路由的应用程序可以拥有端口443。在大多数情况下,平台运营商只允许TCP路由的高编号端口,这意味着没有人能够选择443。长话短说,您不希望用户以https://www.example.com:47385的身份访问您的站点,所以您不希望使用TCP路由。

要正确设置标准HTTP路由,您需要与平台操作团队一起工作。您一起需要执行以下操作:

  1. 获得要使用的域,
  2. 获得负载均衡器。这需要配置为将流量路由到基金会中的Gorouters。您可以跳过此操作,并使用现有的负载均衡器,但是在您的域中有用于步骤#6 below.
  3. Configure DNS的implications1,以便它在步骤2中路由到负载均衡器。
  4. 在CF.
  5. Map中将域作为私有或共享域添加到您的应用程序,使用步骤3中创建的域。
  6. 将您的TLS证书和密钥添加到负载均衡器1.

当您完成所有这些工作时,您域的通信量将解析为负载平衡器的IP。您的用户浏览器将向LB发出HTTPS请求,该请求将终止TLS (如果是HTTP/layer-7 LB),并转发到Gorouter (如果存在TCP/layer-4 LB,则TLS将在这里终止),后者将转发到您的应用程序(基于您映射的路由)。

您的应用程序需要查看x-forwarded-forx-forwarded-proto头,以确认请求是否来自HTTPS,因为它没有直接终止TLS。

1-含义是如何安装证书。使用单独的LB,您可以将证书添加到其中并完成。如果您试图重用平台LB,则需要将证书添加到现有的证书列表中。此外,如果您的平台操作团队正在使用TCP/layer-4负载均衡器,那么TLS终止不会发生在LB,而是发生在Gorouter。这意味着您必须将您的TLS证书加载到Gorouter中,这需要Bosh部署,而且是更多的工作。修改平台LB也有错误破坏基础的风险。出于这些原因和更多原因,为应用程序添加一个单独的LB通常是可行的。

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

https://stackoverflow.com/questions/62560091

复制
相关文章

相似问题

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