当前位置:   article > 正文

nginx代理应用sso跳转处理_nginx sso

nginx sso

场景说明

由于用户需要使用https协议访问应用,https协议是由第三方网关进行代理,应用本身是http协议的,但是部门其他地方的用户由于硬件原因,只能通过http进行访问,整体结构如图:
在这里插入图片描述

访问得到的真实结果是:虽然浏览器端使用https协议进行访问,但是在经过sso跳转后,浏览器地址变为了应用的http真实地址,这就是问题所在。在添加网关后,应用ip访问地址对于用户来说应该是感知不到的才对。

CAS验证原理

项目使用的sso是CAS实现
在这里插入图片描述

附上发现的一篇写的不错的CAS原理链接CAS原理与协议

代码调整

在进行CAS验证过程中,第2步,第5步对于使用代理访问应用是非常重要的,因为会通过url作为参数进行相应的校验,因此需要做如下调整:
1、在第2步重定向到服务端的时候参数中的应用地址需要调整为代理的地址
2、在第5步进行校验的时候,传递的参数也需要对应的改为代理的地址

通过上面2个调整才能做到向用户屏蔽真实应用地址,才能够正常访问到被代理应用。

注意:在调整的过程中,判断是通过代理访问,还是直接访问应用,是很重要的,这影响到怎样设置重定向地址,怎样设置校验的地址参数

在这个案例中,我采用的是通过在url链接加上参数进行解决。
更好的解决办法是代理能够在请求头中添加一个特殊的参数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/592925
推荐阅读
相关标签
  

闽ICP备14008679号