嘿,所以我基本上希望将 nginx 设置为托管内容的内部 IIS 服务器的反向代理。nginx 服务器必须使用 PHP/MySQL 登录系统对用户进行身份验证,如果未通过身份验证,则会要求他们登录。但是,如果他们已登录,则他们的请求将被传递到 IIS 服务器。是否可以在此设置中使用 proxy_pass?我知道我可以将 auth_basic 与 htpasswd 文件一起使用,但我可以将请求发送到 PHP 身份验证文件吗?或者我最好在 PHP 中使用 curl 或 readfile() 来实现相同的请求?我只是认为从性能的角度来看,这可能不是最佳实践。非常感谢任何帮助。
答案1
您正在描述一个使用其代码对用户进行身份验证的 Web 代理。是的,这是可能的。但是在这个设置中,您必须使用 PHP curl 模块以编程方式代理请求,而不是使用 nginx 本身。对于 nginx 来说,这看起来就像一个普通的 PHP 网站。
虽然这个系统看起来过于复杂。我建议你使用 IIS 方法对用户进行身份验证。如果你仍然需要,可以使用 inginx 作为简单的反向代理。