nginx配置sso登录

nginx配置sso登录,第1张

nginx配置sso登录

下面的例子是如何在nginx配置sso登录服务。

用到几个主要元素:应用服务器(myweb),ngingx服务器,和认证服务器(mycas)。

为了验证的简化,所有的服务器都搭建在一台主机上(假设当前机器名为host.example.com),主机名即域名,三个服务通过三个不同的端口提供服务。

我们使用node/express来模拟应用服务器和CAS认证服务器。

参考官方文档,不细说。

https://nodejs.org/en/

我们用它来生产node项目框架。

修改认证服务器端口为4000

4.2. 创建认证服务器

保持认证服务器端口为3000

为认证服务器添加一个登录页面

启动认证服务器

启动应用服务器

启动nginx

nginx的错误日志在:/var/log/nginx/error.log

另外如果碰到如下错误:

(13: Permission denied) while connecting to upstream:[nginx]

请参考下面链接:

https://stackoverflow.com/questions/23948527/13-permission-denied-while-connecting-to-upstreamnginx

登录

http://host.example.com

浏览器会跳转到登录页面, http://host.example.com:3000/login ,输入用户名密码(admin/admin)后,跳转到应用服务器页面,显示"Welcome Page!"

退出

http://host.example.com/logout

退出后,页面重新跳转到登录页面。

11.1 设置request.Headers

在认证服务器,认证成功时:

然后下nginx的配置文件里:

从认证服务器的upstream获取x_forwarded_user和x_idcs_user,注意用小写,然后设置到应用服务器的request里面去。

11.2 设置浏览器cookie

在认证服务器的post/login成功时:

这样浏览器就能看到cookie的内容了。

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. 欢迎登录nginx服务器。如果你看到这个页面,该服务器就已成功安装并运行

:用户从浏览器输入URL。先到nginx。nginx将请求转到Passenger启动的Rails实例端口。然后你的Rails工程就收到这个请求了。 bundle只是一个Rails包管理工具。只和开发过程有关,和部署过程没关系。.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/696978.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-03
下一篇2023-08-03

发表评论

登录后才能评论

评论列表(0条)

    保存