我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何安全地停止SpringBoot应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何安全地停止SpringBoot应用

本篇内容主要讲解“如何安全地停止SpringBoot应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何安全地停止SpringBoot应用”吧!

主要有两种方式:通过HTTP发送shutdown信号,或者通过service stop的方式

方式一:通过HTTP发送shutdown信号

该方式主要依赖Spring Boot Actuator的endpoint特性,具体步骤如下:

1. 在pom.xml中引入actuator依赖

  org.springframework.boot

  spring-boot-starter-actuator

2. 开启shutdown endpoint

Spring Boot Actuator的shutdown endpoint默认是关闭的,因此在application.properties中开启shutdown endpoint:

#启用shutdown

endpoints.shutdown.enabled=true

#禁用密码验证

endpoints.shutdown.sensitive=false

3. 发送shutdown信号

shutdown的默认url为host:port/shutdown,当需要停止服务时,向服务器post该请求即可,如: curl -X POST host:port/shutdown 将得到形如{"message":"Shutting down, bye..."}的响应

4. 安全设置

可以看出,使用该方法可以非常方便的进行远程操作,但是需要注意的是,正式使用时,必须对该请求进行必要的安全设置,比如借助spring-boot-starter-security进行身份认证:

pom.xml添加security依赖

org.springframework.boot spring-boot-starter-security

开启安全验证 在application.properties中变更配置,并

#开启shutdown的安全验证 endpoints.shutdown.sensitive=true #验证用户名 security.user.name=admin #验证密码 security.user.password=secret #角色 management.security.role=SUPERUSER

指定路径、IP、端口

#指定shutdown endpoint的路径 endpoints.shutdown.path=/custompath #也可以统一指定所有endpoints的路径——management.context-path=/manage—— #指定管理端口和IP management.port=8081 management.address=127.0.0.1

方式二:部署为Unix/Linux Service

该方式主要借助官方的spring-boot-maven-plugin创建”Fully executable” jar ,这中jar包内置一个shell脚本,可以方便的将该应用设置为Unix/Linux的系统服务(init.d service),官方对该功能在CentOS和Ubuntu进行了测试,对于OS X和FreeBSD,可能需要自定义。具体步骤如下:

1. 在pom.xml中引入插件:

  org.springframework.boot

  spring-boot-maven-plugin

    true

e>

2. 设置为系统服务

将你的应用打成jar包,部署到服务器,假设部署路径为/var/app,包名为app.jar,通过如下方式将应该设置为一个系统服务: sudo ln -s /var/app/app.jar /etc/init.d/app

3. 赋予可执行权限:

chmod u+x app.jar

4. 以系统服务的方式管理

接下来,就可以使用我们熟悉的service foo start|stop|restart来对应用进行启停等管理了 sudo service app start|stop 命令将得到形如Started|Stopped [PID]的结果反馈

默认PID文件路径:/var/run/appname/appname.pid 默认日志文件路径:/var/log/appname.log

这可能是我们更熟悉也更常用的管理方式。

自定义参数

在这种方式下,我们还可以使用自定义的.conf文件来变更默认配置,方法如下:

在jar包相同路径下创建一个.conf文件,名称应该与.jar的名称相同,如appname.conf

在其中配置相关变量,如:JAVA_HOME=/usr/local/jdk JAVA_OPTS=-Xmx1024M LOG_FOLDER=/custom/log

安全设置

作为应用服务,安全性是一个不能忽略的问题,如下一些操作可以作为部分基础设置参考:

为服务创建一个独立的用户,同时最好将该用户的shell绑定为/usr/sbin/nologin

赋予最小范围权限:chmod 500 app.jar

阻止修改:sudo chattr +i app.jar

对.conf文件做类似的工作:chmod 400 app.conf,sudo chown root:root app.conf

到此,相信大家对“如何安全地停止SpringBoot应用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何安全地停止SpringBoot应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在应用程序中安全地使用SQLite数据库

在应用程序中安全地使用SQLite数据库为了确保SQLite数据库的安全性,请遵循以下最佳实践:正确配置安全模式和只读访问权限。使用参数化查询和输入验证进行数据验证。加密数据库文件和访问。设置适当的访问控制和上下文相关查询。使用事务管理来确保数据完整性。安全地存储和管理加密密钥。进行漏洞扫描和审计。遵循安全编码实践,防范注入攻击和处理异常。实施其他安全措施,例如备份和持续监控。
如何在应用程序中安全地使用SQLite数据库
2024-04-10

如何在应用程序中安全地使用SQLite数据库

使用SQLite数据库时,可以采取以下措施来确保数据的安全性:使用参数化查询:避免直接将用户输入的数据拼接到SQL查询语句中,可以使用参数化查询来防止SQL注入攻击。限制访问权限:确保只有授权的用户可以访问数据库,可以通过设置数据库的权限来
如何在应用程序中安全地使用SQLite数据库
2024-04-09

ASP Web 安全性:如何防止身份盗用

ASP Web 安全性对于保护用户数据和应用程序免受恶意攻击至关重要。身份盗用是一种常见的网络犯罪,它可以通过多种方式在 ASP Web 应用程序中发生。本文将介绍如何通过使用安全的编程实践、输入验证和加密机制来防止身份盗用,以确保 ASP Web 应用程序的安全。
ASP Web 安全性:如何防止身份盗用
2024-02-13

HSTS安全策略如何应用

这篇文章主要介绍“HSTS安全策略如何应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HSTS安全策略如何应用”文章能帮助大家解决问题。HSTS 是 HTTP 严格传输安全(HTTP Strict
2023-06-27

如何用Springboot快速整合shiro安全框架

这篇文章主要介绍了如何用SpringBoot快速整合shiro安全框架,shiro原名ApacheShiro是一个Java的安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,感兴趣的同学可以参考阅读
2023-05-14

win10组策略禁止安装应用软件如何解决

要禁止在Windows 10上安装应用软件,可以使用组策略来实现。以下是解决方法的步骤:按下Win + R键,打开运行对话框。输入"gpedit.msc"并按下回车键,打开本地组策略编辑器。在左侧面板中,展开"计算机配置" > "管理模
2023-10-21

阿里云服务器包月是否可以停用?安全性如何?

随着互联网技术的飞速发展,越来越多的企业和个人开始使用云服务器来搭建自己的网站或应用程序。然而,云服务器的使用并非一劳永逸,有时可能需要临时停用。本文将就阿里云服务器包月是否可以停用?安全性如何?等问题进行详细说明。一、阿里云服务器包月可以停用吗?是的,阿里云服务器包月可以停用。阿里云提供了多种服务套餐,包括按需
阿里云服务器包月是否可以停用?安全性如何?
2023-11-14

如何将Chrome本地安装的扩展应用导出到本地

有时由于种种原因,我们不能直接使用Chrome web store进行Chrome扩展应用的安装,这时可以让一位已经安装了某Chrome扩展应用的朋友将他的应用导出到本地成为.crx文件,然后发给你,这样你就可以通过.crx文件进行离线安装
2023-06-03

阿里云ECS实例迁移如何高效、安全地迁移应用和数据

在云计算环境中,随着业务的不断扩大和数据量的不断增加,对计算资源的需求也在不断增长。因此,如何高效、安全地迁移应用和数据就显得尤为重要。本文将详细介绍阿里云ECS实例迁移的详细过程和注意事项,帮助您在云计算环境中实现业务的稳定运行。阿里云ECS实例迁移是将一个云服务器实例的全部数据和配置迁移到另一个云服务器实例上
阿里云ECS实例迁移如何高效、安全地迁移应用和数据
2023-12-15

win7打开应用安全警告如何解除

如果你在 Windows 7 上遇到了打开应用出现安全警告的情况,可以按照以下步骤解除:确定你信任该应用程序的来源。如果你信任该应用程序的来源,可以继续下面的步骤。如果你不信任该应用程序的来源,或者不确定该应用程序是否安全,最好不要继续打开
2023-10-21

代理IP应用如何保证数据安全

代理IP应用如何保证数据安全,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。目前,随着数据集中化程度越来越高,数据量越来越大,传统的信息安全手段已不能满足大数据时
2023-06-25

如何提高Node.js应用程序的安全性

这篇文章主要介绍“如何提高Node.js应用程序的安全性”,在日常操作中,相信很多人在如何提高Node.js应用程序的安全性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何提高Node.js应用程序的安全性
2023-06-15

如何使用 Golang 安全地读取和写入文件?

在 go 中安全地读取和写入文件至关重要。指南包括:检查文件权限使用 defer 关闭文件验证文件路径使用上下文超时遵循这些准则可确保数据的安全性和应用程序的健壮性。安全地使用 Go 读取和写入文件在编写 Go 程序时,安全地读取和写入文
如何使用 Golang 安全地读取和写入文件?
2024-05-15

PHP 框架安全指南:如何测试 Web 应用程序的安全性?

自动化安全测试包括:使用单元测试框架(如 phpunit)进行单元测试使用集成测试框架(如 laravel 的 dusk)检查组件交互手动安全测试包括:输入验证测试sql 注入测试跨站点脚本 (xss) 测试实战案例展示了如何使用 php
PHP 框架安全指南:如何测试 Web 应用程序的安全性?
2024-05-23

如何使用 PHP 函数安全地处理敏感数据?

如何安全处理 php中的敏感数据要安全地处理php中的敏感数据,需进行以下步骤:加密:将明文转换为不可读的密文。散列:生成固定长度的代码,即使原始数据发生细微变化也会改变。验证用户输入:防止恶意输入,如sql注入或xss攻击。实战案例:存储
如何使用 PHP 函数安全地处理敏感数据?
2024-04-24

编程热搜

目录