当前位置: 首页 > 知识库问答 >
问题:

在pivotal cloud foundry的Spring Boot中使用可信SSL证书

葛承嗣
2023-03-14

我对SSL证书的主题很陌生,我想安装我购买的SSL,这样当用户进入我的网站时,他们就不会看到不可信的证书。这里是我到目前为止所做的步骤

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

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

server.ssl.key-store:classpath:myFile.p12
server.ssl.key-store-password:some_pass
server.ssl.keyStoreType:PKCS12
server.ssl.keyAlias:someAlias

共有1个答案

仉峻
2023-03-14

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

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

要使用标准HTTP路由正确地设置此功能,您需要与您的平台运营团队合作。您需要共同执行以下操作:

  1. 获取要使用的域。
  2. 获得负载均衡器。这需要配置为将流量路由到基础中的Gorouters。您可以跳过这一点并使用现有的负载均衡器,但这对下面的步骤#6有影响[1]。
  3. 为域配置DNS,以便它在步骤#2中路由到负载均衡器。
  4. 将域添加为cf中的私有域或共享域。
  5. 使用步骤#3中创建的域将路由映射到应用程序。
  6. 将TLS证书和密钥添加到负载均衡器[1]中。

当你做了所有这些,流量到您的域将解析到您的负载均衡器的IPs。您的用户浏览器将向LB发出HTTPS请求,该请求将终止TLS(如果是HTTP/Layer-7 LB),并转发到Gorouter(如果有TCP/Layer-4 LB,则TLS在这里终止),然后转发到您的应用程序(基于您映射的路由)。

您的应用程序将需要查看x-forwarded-forx-forwarded-proto头部,以确认请求是否通过HTTPS传入,因为它不会直接终止TLS。

 类似资料:
  • 我们需要显式地将受信任的CA证书导入java密钥库吗?如果是,为什么? 我可以理解,我们应该始终将自签名SSL证书导入密钥库,因为它们不是经过验证的证书,除非密钥库中有java,否则无法信任。但是,即使对于可信CA生产证书,我们也需要执行同样的操作吗? 注意:我使用的是jdk v1。6.x。

  • 我正在创建一个简单的网站。前端存储在S3中,由CloudFront托管。我使用AWS证书管理器向前端域(www.xyz.com)添加了一个受信任的SSL证书。 后端运行在EC2实例上。我向它添加了一个自签名证书。我可以使用Postman访问API,但由于自签名证书,来自前端的请求失败了。 我再次检查了AWS证书管理器是否可以为我的后端服务器提供证书,但它需要一个域。我的服务器运行在IP和端口上,我

  • 问题内容: 我希望能够使用CURL读取SSL证书信息。从Linux控制台,我得到以下响应头: 但是使用CURL时,标头要短得多: 是否有可能获取这些信息,带有CURL或带有其他一些PHP函数的完整标头? 问题答案: 否。 编辑 :一个选项已添加到PHP 5.3.2。见http://bugs.php.net/49253 显然,该信息是由您的代理在响应标头中提供的。如果你想依靠这一点,你可以用卷曲的选

  • 局域网IP地址怎么生成受信任的SSL证书?比如启明星辰的设备ip地址证书就是受信任的。

  • 我有一个小的springboot应用程序。我需要使用HTPPS,我从CA购买带有嵌入式tomcat的SSL证书。我试着配置它。应用财产: p、 12.使用keytool创建 **.我从加州得到的crt。我也有私钥,但不知道我需要在哪里使用它。 当我尝试启动此应用程序时,出现了一个错误 为什么应用程序看不到别名?我在keystore中看到了。 可能我需要一些其他设置来在springboot tomc

  • 我知道这可能看起来很熟悉,但我向大家保证,我已经检查并重新运行了所有的答案,但我仍然不能使用我的有效GoDaddy SSL证书。下面是我在Spring Boot应用程序中制作和使用密钥库的步骤。我很感谢对此帖子的任何建议或评论。 > 我已经从我的GoDaddy帐户下载了与tomcat选件相关的证书包(还没有生成和提交CSR,只是使用了GoDaddy预生成的证书包)。该包包含以下一组文件。 GD_b