我使用nginx作为代理服务器,监听在localhost上运行的某些服务。但在我想要proxy_pass
发生之前,用户应该通过cookie或登录提示进行身份验证。
如何解决这个问题?
答案 0 :(得分:0)
如果用户没有登录cookie,您应该有一些重写规则将用户重定向到登录页面。然后,登录页面将设置正确的cookie并将用户重定向回正确的页面(如果用户通过了身份验证测试)。也许是这样的:
location / {
if ($cookie_login_token = "") {
rewrite .* /login-page break;
}
}
然后你的登录页面应该设置一个值为“login_token”的cookie。虽然如果用户知道你正在监听什么cookie(例如通过观看其他用户登录),这种设置很容易规避,所以我建议在真实服务器上进行更强大的测试。