我有大量 Nginx 反向代理条目,它们都用于服务器上运行的不同 Web 服务。为了将这些使用不同身份验证方法的服务合并到单个入口点,我想通过一个现有服务上的 iframe 访问它们,该服务恰好也是同一台服务器上的反向代理。此主服务已使用 Oauth 进行身份验证,因此我想保护其背后的所有其他内容。
基本上我的问题是;要为所有这些服务提供单一的身份验证方法,我该如何设置反向代理,使其只能通过同一站点上的 iframe 访问?我尝试设置每个反向代理的位置块,以仅允许服务器的本地 IP,但这会出现 403 错误;大概是因为访问 IP 是外部 IP,而不是服务器的内部 IP?
还值得一提的是,该服务器只能通过使用 TLS/SSL 的外部主机名访问。
答案1
我设法通过使用来解决这个问题担保以及 Nginx auth-request 模块,用于为整个服务器添加顶级身份验证。这意味着我可以使用我的 Google 帐户和 Oauth 2.0 登录,并删除每个 Web 服务的单独身份验证方法。