在我的上 一篇 文章中,我展示了在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: 443ssl:key-store: classpath:keystore.jkskey-store-password: tomcatkeyAlias: 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

使用Boxfuse为您的REST API设置https相关推荐

  1. C/C++中调用api设置mysql连接的编码方式

    MySQL在C/C++中调用api设置连接mysql的编码方式有以下几种方法: 1. mysqli_set_charset 调用示例: [cpp] view plain copy ret = mysq ...

  2. EF CodeFirst 学习 1 - 用fluent API设置元数据,

    用 Fluent API 设置元数据 http://agilenet.wordpress.com/2011/04/11/entity-framework-4-1-rc-with-an-existing ...

  3. java喜好设置_Java中使用Preferences 的 API设置用户偏好

    Preferences的中文意思即偏好或喜好的意思,也就是说同一个程序在每次运行完后,可以通过Preferences来记录用户的偏好,下次启动时,程序会利用这些信息来了解用户的喜好.而这些信息个人理解 ...

  4. 高德地图Javascript API设置域名白名单

    高德地图Javascript API设置域名白名单 原文: 高德地图Javascript API设置域名白名单 在涉及到GPS地图相关应用的开发过程中,我们需要在高德开放平台注册相应的账号,并设置好相 ...

  5. ckeditor5 vue 字体大小配置,字体颜色,段落对齐API设置

    ckeditor5字体大小配置,字体颜色设置api 1,ckeditor5中使用api设置选中字体 属性 import CKEditor from '@/common/plugin/ckeditor/ ...

  6. Cloudflare api 设置Firewall rules防止wodpress被爆力破解

    WordPress新网站只要一上线,马上服务器会有大量的来尝试登录的访问 访问的都是主要2个链接wp-login.php和xmlrpc.php,因此会有严重的风险,黑客程序一天24小时不停的去尝试破解 ...

  7. c++ API 设置桌面图标 自动排列图标 网格对齐 snaptogrid

    c++ API 设置桌面图标 自动排列图标 网格对齐 snaptogrid 方式一 通过调研宏ListView_SetExtendedListViewStyleEx,来实现控制自动排列图标&网 ...

  8. 如何使用create-react-app在本地设置HTTPS

    Running HTTPS in development is helpful when you need to consume an API that is also serving request ...

  9. https连接java_如何从Java应用程序设置Https连接

    我使用 java创建桌面应用程序,此应用程序使用API​​.为了保证与API的通信,我们得到了他们支持使用HTTPS的通知.请指导我如何从 Java客户端设置https连接. API具有此功能,表明它 ...

最新文章

  1. Nginx使用uninx socket来连接fastcgi(php)
  2. 隔离公司各个部门--虚拟路由器(RIP)
  3. FileMonitorKit 文件操作监控工具
  4. 原生JS实现addClass,removeClass,toggleClass
  5. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...
  6. Dom4j解析Xml文件,Dom4j创建Xml文件
  7. 为什么还有那么多人用SVN?
  8. MySQL Workbench出现:Error Code: 2013. Lost connection to MySQL server during query的问题解决
  9. securecrt批量登录linux,SecureCRT批量配置使用会话key
  10. db2时间差换成月_DB2 日期函数计算日期差
  11. JavaScript库和框架
  12. 五金模具设计统赢外挂提升效率技巧、外挂模具设计流程的问题归纳
  13. win10 uwp 自定义控件初始化
  14. C# Transaction 事务
  15. 沉迷那一抹秋色·禾木
  16. git公钥私钥及密码说明
  17. 某海外电商平台参数分析 ECDSA签名(js逆向)
  18. vue2 + tinymce 包含自定义图片上传及视频、音频上传
  19. 成本计算的相关定义和公式
  20. css 针对ie6 hank 兼容的终极解决办法

热门文章

  1. ElasticJob-分布式作业调度神器,你们还在用Quartz吗
  2. 深入理解python的元组本身不可变性
  3. 对查询出来的结果进行筛选(having)
  4. 2020蓝桥杯省赛---java---B---1(指数计算)
  5. c/c++ 字符串分割
  6. elementui下拉框选择图片_element ui下拉框如何实现默认选择?
  7. python中seaborn画swarm图_Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot
  8. pre1-flink理论-批处理与流处理+简单示例
  9. 本地java判断zk节点是否存在
  10. rest api封装调用_如何从云功能调用外部REST API