热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安全通信_精通springcloud:服务发现,启用客户端和服务器之间的安全通信

篇首语:本文由编程笔记#小编为大家整理,主要介绍了精通springcloud:服务发现,启用客户端和服务器之间的安全通信相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了精通springcloud:服务发现,启用客户端和服务器之间的安全通信相关的知识,希望对你有一定的参考价值。






启用客户端和服务器之间的安全通信

到目前为止,Eureka Server没有对任何客户端的连接进行过身份验证。在开发模式中,安全性并不像生产模式那么重要。缺乏它可能是一个问题。我们希望通过基本身份验证保护发现服务器,以防止未经授权访问任何知道其网络地址的服务。尽管SpringCloud参考资料声称HTTP基本身份验证将自动添加到Eureka客户端,但开发人员仍必须在附属项目中包含一个具有安全性的启动器。

精通springcloud:服务发现,启用客户端和服务器之间的安全通信

 




org. springf ramework. boot


spring-boot-starter-security



然后,开发人员应该通过更改application.yml文件中的配置设置来启用安全性,并且设置默认凭据。



security:


basic:


enabled: true


user:


name: admin


password: admin123


现在,所有HTTP API端点和Eureka仪表板都是安全的。要在客户端启用基本身份验证模式,应在URL连接地址中提供凭据,如以下配置设置中所示。实现安全发现的示例应用程序可在同一存 储库(ttps://github.com/piomin/sample-spring-cloud-etlix.git) 中找到,并且可用作基本示例,但开发人员需要切换到security 分支tps://github.com/piomin/sample- springcloud-etit/re/security)。以下是在客户端启用HTTP基本身份验证的配置。



eureka:


client:


serviceUrl:


defaultZone: http://admin: admin123@localhost:8761/eureka/


对于更高级的使用,如在发现客户端和服务器之间使用证书身份验证方式的安全SSL连接,开发人员应该提供
DiscoveryClientOptionalArgs的自定义实现。在本书第12章“保护API的安全”中将会讨论这样一个示例, 该示例将致力于保护Spring Cloud应用程序的安全。

精通springcloud:服务发现,启用客户端和服务器之间的安全通信

 

保护服务器端的安全性是一回事,注册安全应用程序则是另一回事。现在让我们来看一看如何注册安全服务。

(1)要为Spring Boot应用程序启用安全套接层(Secure Sockets Layer, SSL) ,需要从生成自签名证书( Self-Signed Certificate)开始。建议使用keytool,它可以在bin目录中的JRE根目录下使用。



keytool -genkey -alias client -storetype PKCS12 -keyalg RSA -


keysize 2048 -keystore keystore.pl2 -validity 3650


(2)输入所需数据并将生成的密钥库文件keystore.p12 复制到应用程序的src/main/resources目录中,而接下来的步骤则是使用application.yml 中的配置属性为Spring Boot启用HTTPS。



server :


port: ${PORT:8081]


ssl:


key-store: classpath:keystore.p12


key- store-password: 123456


keyStoreType: PKCS12


keyAlias: client


(3)在运行应用程序之后,开发人员应该能够调用安全端点htpt:/cahost:/8761/info。此时还需要在Eureka客户端实例配置中执行一些更改。



eureka :


instance :


securePortEnabled: true


nonSecurePortEnabled: false


statusPageUrl: https://$ leureka. hostname} :S lserver.port}/info


heal thCheckUrl: https://$ {eureka. hostname} :S{server .port} /health


homePageUrl: https://$ (eureka . hostname):${server.port)/


精通springcloud:服务发现,启用客户端和服务器之间的安全通信

 


大家如果需要的话可以扫码下方来获取:




推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • Java 点餐系统源代码附带管理后台(免费提供)
    本项目提供了一套基于 Java 的点餐系统,包括前端小程序和后端管理平台。采用 Spring Boot 和 SSM 框架,结合 MySQL 和 Redis 数据库技术,适用于学习和二次开发。有需要源代码的开发者可以通过私信联系,免费获取下载链接。 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 通过利用代码自动生成技术,旨在减轻软件开发的复杂性,缩短项目周期,减少冗余代码的编写,从而显著提升开发效率。该方法不仅能够降低开发人员的工作强度,还能确保代码的一致性和质量。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
author-avatar
你妈咪叫你吃饭呢
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有