nginx 配置反向代理 设置cookie可用

nginx 配置反向代理 设置cookie可用,第1张

proxy_cookie_domain .xxx.cn localhost

设置之后domain为 .localhost 多了一个点

导致cookie还是设置失败

参考:

Nginx防止cookie丢失的配置 <nginx proxy_pass><proxy_cookie_domain>

nginx配置proxy_cookie_domain如何去掉.localhost的点?

mac nginx 启动

server{

listen 80

add_header Set-Cookie 'CookieName=CookieValue'

}

简单的添加一个setcookie头就可以创建一个cookie,在当前请求的路径下创建了一个名为cookieName,值为CookieValue的cookie,为内存cookie,若要在其他位置创建,只需要加上path,改变生存期可以加expire

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的内容了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11079665.html

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

发表评论

登录后才能评论

评论列表(0条)

保存