网站开发流程龙岩什么是交换链接
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:36
当前位置: 首页 > news >正文
网站开发流程龙岩,什么是交换链接,怎么建一个购物网站,网站页面制作软件Spring Boot与监控管理视频
简介 通过引入spring-boot-starter-actuator, 可以使用SpringBoot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过http, jmx, ssh协议来进行操作#xff0c;自动得到审计、健康及指标信息等。 步骤#xff1a; 引入spring-boo…Spring Boot与监控管理视频
简介 通过引入spring-boot-starter-actuator, 可以使用SpringBoot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过http, jmx, ssh协议来进行操作自动得到审计、健康及指标信息等。 步骤 引入spring-boot-starter-actuator通过http方式访问监控端点可进行shutdown post提交此端点默认关闭 监控和管理端点 端点名描述autoconfig所有自动配置信息auditevents审计事件beans所有Bean的信息configprops所有配置属性dump线程状态信息env当前环境信息health应用健康状况info当前应用信息metrics应用的各项指标mappings应用的RequestMapping映射路径shutdown关闭当前应用默认关闭trace追踪信息最新的http请求 http://localhost:8080/beans http://localhost:8080/health http://localhost:8080/trace http://localhost:8080/metrics http://localhost:8080/mappings http://localhost:8080/info
shutdown端点的使用 首先在application中开启shutdown端点默认是关闭的。
关闭认证
management.security.enabledfalse
开启shutdown端点
endpoints.shutdown.enabledtrue启动应用后使用postman发送post请求 http://localhost:8080/shutdown; 发现报跨域访问限制异常。 {timestamp: 1691418900478,status: 403,error: Forbidden,message: Invalid CSRF Token null was found on the request parameter _csrf or header X-CSRF-TOKEN.,path: /shutdown }什么是 CSRF 这是一个 WEB 应用安全的问题CSRFCross-site request forgery 跨站请求伪造也被称为“One Click Attack” 或者Session Riding攻击方通过伪造用户请求访问受信任站点。 因为我在应用中引入了spring-security, 它引入了CSRF默认是开启。CSRF和RESTful技术有冲突。CSRF默认支持的方法 GET|HEAD|TRACE|OPTIONS不支持POST。 其实跨域攻击操作过程比较简单就是如果你不采取任何限制的时候对 POST 相对风险系数比较高的访问用户可以伪造请求然后对服务器进行攻击和修改。比如说通过伪造 POST 请求然后能够将用户的数据删除。 参考 Spring security CSRF 跨域访问限制问题 - 知乎 (zhihu.com) 我们只需要禁用CSRF就可以了。http.csrf().disable(); EnableWebSecurity public class MySecurityConfig extends WebSecurityConfigurerAdapter {/*** 定制请求的授权规则** param http the {link HttpSecurity} to modify* throws Exception/Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers(/).permitAll()// VIP1角色的用户才能访问level1的页面其他同理.antMatchers(/level1/).hasRole(VIP1).antMatchers(/level2/).hasRole(VIP2).antMatchers(/level3/).hasRole(VIP3);// 开启自动配置的登录功能 // http.formLogin();http.formLogin().usernameParameter(uname).passwordParameter(pwd).loginPage(/userlogin).loginProcessingUrl(/userlogin);// 1. 如果没有访问权限转发到/login请求来到登录页// 2. 重定向到/login?error表示登录失败。 更多详细规定// 3. 默认post形式的/login代表处理登录提交// 4.如果定制loginPage那么loginPage的post请求就是登录提交// 开启自动配置的注销功能, 访问/logout表示用户注销清空session; 注销成功后来到首页;http.logout().logoutSuccessUrl(/);// 开启记住我的功能, 将cookie发给浏览器保存以后登录带上这个cookie只要通过服务器端的验证就可以免登录// 如果点击”注销“也会删除这个cookie // http.rememberMe();http.rememberMe().rememberMeParameter(remember);// 禁用csrfhttp.csrf().disable();}/ 定制认证规则** param auth the {link AuthenticationManagerBuilder} to use* throws Exception*/Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {auth.inMemoryAuthentication().withUser(zhangsan).password(123456).roles(VIP1, VIP2).and().withUser(lisi).password(123456).roles(VIP2, VIP3).and().withUser(wangwu).password(123456).roles(VIP1, VIP3);} }再次访问应用被关闭。使用 curl -X POST http://localhost:8080/shutdown 也可以。 {message: Shutting down, bye… }3. 定制端点信息 定制端点一般通过endpoints 端点名 属性名来设置修改端点id endpoints.beans.idmybeans);开启远程应用关闭功能 endpoints.shutdown.enabledtrue关闭端点endpoints.beans.enabledfalse开启所需端点 endpoints.enabledfalse;endpoints.beans.enabledtrue; 定制端点访问路径 management.context-path/manage;关闭http端点 management.port-1; management.security.enabledfalse info.app.idspringboot-security info..app.version1.0 #endpoints.metrics.enabledfalse #endpoints.autoconfig.enabledfalse endpoints.shutdown.enabledtrue
http://localhost:8080/bean
endpoints.beans.idmybean endpoints.beans.path/bean
http://localhost:8080/du
endpoints.dump.path/du
关闭所有端点访问
endpoints.enabledfalse
开启指定端点访问
endpoints.beans.enabledtrue
所有端点访问根路径 http://localhost:8080/manage/bean
management.context-path/manage
所有端点访问端口 http://localhost:8181/manage/bean
management.port81814. 健康状态监控 开放health端点访问 endpoints.health.enabledtruehttp://localhost:8181/manage/health 响应 {status: UP,diskSpace: {status: UP,total: 362095308800,free: 336869535744,threshold: 10485760} }现在来模拟服务失败的场景比如引入redis依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId /dependency然后配置reids主机地址
redis
spring.redis.host192.168.111.129因为我虚拟机上的redis服务没有启动应用是无法连接redis的。我们来查看health端点状态 http://localhost:8181/manage/health {status: DOWN,diskSpace: {status: UP,total: 362095308800,free: 336868065280,threshold: 10485760 }, redis: {status: DOWN,error: org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool} }启动远程redis服务后再次查看health端点, 其实是RedisHealthIndicator提供了监控支持。 {status: UP,diskSpace: {status: UP,total: 362095308800,free: 335793897472,threshold: 10485760 }, redis: {status: UP,version: 6.2.6} }5. 自定义健康状态指示器 编写一个指示器实现HealthIndicator接口 Component public class MyAppHealthIndicator implements HealthIndicator {Overridepublic Health health() { // Health.up().build() 成功// 自定义检查,直接返回失败return Health.down().withDetail(msg, 服务异常).build();} }启动应用后查看健康端点 http://localhost:8181/manage/health {status: DOWN,myApp: {status: DOWN,msg: 服务异常 }, diskSpace: {status: UP,total: 362095308800,free: 335793758208,threshold: 10485760 }, redis: {status: UP,version: 6.2.6} }
- 上一篇: 网站开发流程记住吧网站首页关键词设置
- 下一篇: 网站开发流程三大部分广东智能网站建设哪家有
相关文章
-
网站开发流程记住吧网站首页关键词设置
网站开发流程记住吧网站首页关键词设置
- 技术栈
- 2026年03月21日
-
网站开发浏览器兼容性怎么搭建本地网站
网站开发浏览器兼容性怎么搭建本地网站
- 技术栈
- 2026年03月21日
-
网站开发浏览器不支持flash企业解决方案
网站开发浏览器不支持flash企业解决方案
- 技术栈
- 2026年03月21日
-
网站开发流程三大部分广东智能网站建设哪家有
网站开发流程三大部分广东智能网站建设哪家有
- 技术栈
- 2026年03月21日
-
网站开发流程三大部分上海建设机械网站
网站开发流程三大部分上海建设机械网站
- 技术栈
- 2026年03月21日
-
网站开发流程三大部分网站要怎么运营
网站开发流程三大部分网站要怎么运营
- 技术栈
- 2026年03月21日






