SpringBoot Admin Server使用HTTPS协议访问页面无法正常显示

问题描述

会出现如下http,https混用问题,大致错误如下:

This request has been blocked; the content must be served over HTTPS.

简单理解就是网页是用https协议来访问的,但是有些请求资源却是http协议的。

原因猜测

正常路径直接访问不会有问题,但是优化后,项目采用了nginx反向代理的方式来访问SpringBoot Admin Server项目,就有这问题了,所以直接猜测是反向代理步骤导致了问题。

解决方案

SpringBoot Admin Server有个配置项spring.boot.admin.ui. public-url就是用来解决反向代理的问题的,可以通过这个配置设置请求地址,不然就会从浏览器获取访问地址,不过这时候可以默认就是http了,所以SpringBoot Admin Server项目直接加上spring.boot.admin.ui. public-url配置,把路径定义成https协议的,如下:

spring:
  boot:
    admin:
      ui:
        public-url: https://localhost

然后nginx也要加上一个配置,如下:
在这里插入图片描述

红框中的配置是用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域,这很关键,可以保证响应头Location的协议和客户端发来的协议是一致,都会是https。
重启服务和nginx后即可正常访问了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值