使用Boxfuse为您的REST API设置https

我的上 一篇 文章中,我展示了在Boxfuse的帮助下,基于Spring Boot框架建立REST API并在AWS上运行非常容易 。 下一步是利用SSL与API进行通信。 通过使用SSL,我们确保在REST API服务器和API客户端之间的传输过程中保存了数据 。 要为Spring Boot应用程序设置SSL,您必须执行以下两个步骤:

  • 创建一个密钥库
  • 配置Spring Boot应用程序

创建密钥库
第一步可能很容易。 特别是出于开发和测试目的,您可以轻松生成自己的SSL证书和密钥库。 有很多网站对此进行了描述。 基本上就是这样简单: keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore keystore.jks -validity 3650 通过将生成的密钥库文件放入“ src / main / resources”文件夹中,将其添加到应用程序的类路径中。

对于专业/生产的SSL证书,最好从受信任的证书颁发机构获得一个。 只是谷歌搜索“ 购买SSL证书 ”,您将有很多选择(我遇到了这个声称免费生成证书的选项,但我还没有尝试过)。 通过使用自签名证书,您将从浏览器中收到警告,指示您要访问的站点可能不安全。

配置Spring Boot应用程序
第二步是配置Spring Boot应用程序以使用密钥库来设置SSL连接。 为此,将以下内容添加到用于配置Spring Boot应用程序的“ application.yml”文件中:

server:
  port: 443
  ssl:
    key-store: classpath:keystore.jks
    key-store-password: tomcat
    keyAlias: tomcat

这里有两件事需要您注意:

  • 首先是端口443。这在Boxfuse创建的AWS实例上运行良好。 如果我在开发环境(VirtualBox实例)中使用此设置,则该端口将转发到主机上的10443。 并不是真正的问题,但在本地测试API时应了解。
  • 要特别注意的第二个属性是您为密钥库设置的名称。 我忘记设置“ classpath:”部分,该部分使应用程序在我没有的“ / app”文件夹中查找密钥存储。 我不确定这是从哪里来的,但是请注意,如果在应用程序中交付密钥存储,则必须在路径中添加“ classpath:”。

但是,等等……我们忘记为此配置Boxfuse了! 好吧,我们不需要这样做,因为Boxfuse将使用与Spring Boot相同的设置,并确保在服务器的安全组中打开了正确的端口。 因此,只需使用Boxfuse运行您的应用程序,现在就只能通过https访问REST API:

翻译自: https://www.javacodegeeks.com/2016/05/seting-https-rest-api-boxfuse.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值