浏览 4.2k
server {
listen 8080;
server_name domain.vip.net;
location @error401 {
return 302 /ssoproxy/login;
}
location /app/v2/dataOverview {
auth_request /ssoproxy/check/;
error_page 401 = @error401;
proxy_pass http://192.168.1.190:2100/app/v2/dataOverview;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Original-URI $request_uri;
proxy_set_header Cookie $http_cookie;
#proxy_cookie_path / /;
#proxy_pass_header Set-Cookie;
proxy_cookie_domain domain.vip.net 192.168.1.190;
}
location = /ssoproxy/check/ {
internal;
proxy_set_header Host $host;
proxy_set_header Content-Length "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Original-URI $request_uri;
proxy_set_header Cookie $http_cookie;
proxy_pass_header Set-Cookie;
proxy_pass_request_body off;
proxy_pass http://domain.vip.net:7100/ssoproxy/check/;
}java后台代码写一个cookie到返回中
@RestController
public class AuthController {
@RequestMapping("/check")
public void check(HttpServletResponse response) {
Cookie cookie = new Cookie("user_login", "ok");
cookie.setMaxAge(86000);
cookie.setPath("/");
response.addCookie(cookie);
return;
}
}
按点赞数排序
按时间排序
我猜你遇到的不同域名的问题应该是这个机制导致的:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#define_where_cookies_are_sent
浏览器发送cookie只会发送在同一个domain下的
0
回答于2021-08-24 16:23
如果是三次握手没有成功,需要在nginx及上游,分别用tcpdump/wireshark抓包看下,是SYN还是ACK报文丢失了,是在哪个节点丢失的,再来分析为何会丢失,又该如何恢复。
wireshark抓包参见我讲的这一课:https://time.geekbang.org/course/detail/100026801-100973
tcpdump抓包参见这里:https://time.geekbang.org/course/detail/100026801-118169
微信公众号
加入微信群