gpt4 book ai didi

apache - 如何配置我的 Web 服务器以使用 PluggableAuthService 的域身份验证插件?

转载 作者:行者123 更新时间:2023-12-05 00:38:51 25 4
gpt4 key购买 nike

我正在尝试使用域身份验证插件根据站点访问者的 IP 地址为他们分配成员身份角色。

我可以配置插件 OK,但我发现所有请求都来自 localhost 而不是“真实”IP 地址。

在这种情况下,我使用的是 NGINX,所以我尝试通过 proxy_set_header(例如 http://wiki.nginx.org/HttpProxyModule)将 X-Real-IP 设置为 $remote_addr,但据我所知,这只是使 IP 地址在 header 中可用。

如何使从 NGINX 发送到 Plone 的请求看起来来自远程 IP 地址?

我正在使用 NGINX,但我也愿意接受适用于 Apache 的答案。

最佳答案

域身份验证插件使用 request.getClientAddr()方法来确定客户端的 IP 地址,而客户端又使用 REMOTE_ADDR变量和 X-FORWARDED-FOR标题。

通常,您不能依赖 X-FORWARDED-FOR header ,因为几乎任何人都可以设置它。但是您可以将 Zope 配置为信任来自一组给定可信代理的 header 。使用受信任的代理列表,REMOTE_ADDR IP 地址将替换为 X-FORWARDED-FOR 中给出的下一个地址。 header ,直到您用完可信任的地址。找到的最后一个 IP 地址就是新的客户端地址。这允许您链接一组代理,并且仍然能够相信您获得了正确的客户端地址来作为您的角色的基础。

配置 Zope 以信任代理的 X-FORWARDED-FOR header ,设置 trusted-proxy zope.conf中的配置参数文件。如果您的 nginx 服务器运行在同一主机上,只需将其设置为 localhost:

trusted-proxy 127.0.0.1

您可以通过添加多个条目来指定多个名称:
trusted-proxy 127.0.0.1
trusted-proxy loadbalancer.localnet
trusted-proxy需要IP地址和主机名。

关于apache - 如何配置我的 Web 服务器以使用 PluggableAuthService 的域身份验证插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com