首页 > 解决方案 > 如何修复 SimpleSAMLphp“url 不允许”错误

问题描述

伙计们,

有时我们的用户会收到 SimpleSAMLphp 提出的关于“URL 不允许”的异常。该错误对我来说是不可重现的。无论是在开发环境还是生产环境中,我都可以强制系统进入这个错误。但它发生了。

调查后,我在我们的系统日志中发现:

Feb 01 19:55:51 pweb simplesamlphp[25416]: 3 [061b91b3c6] Caused by: SimpleSAML\Error\Exception: URL not allowed: https://10.1.2.102/
Feb 01 22:22:53 pweb simplesamlphp[26347]: 3 [be1715d03f] Caused by: SimpleSAML\Error\Exception: URL not allowed: https://10.1.2.102/

IP 10.1.2.102 是网络服务器的 IP。在我们的网络服务器前面,我们有一个反向代理(apache2),它将所有来自互联网的请求传递到https://10.1.2.102

关于这个错误,我发现的只是将 IP 放入 config.php“trusted.url.domains”。但这对我来说看起来不正确。我认为“trusted.url.domains”仅适用于 IDP 地址。

你有什么提示吗?

标签: apachereverse-proxysimplesamlphp

解决方案


trusted.url.domains适用于 SimpleSAML 可能执行的任何重定向。因此,它确实与 URL 域有关,不仅限于 IdP。

问题是,如果 SimpleSAML 将用户重定向到,它在您的设置中是否正常https://10.1.2.102/工作 - 该私有 IP 对他们不起作用。但也许您的反向代理会将其翻译回来?如果是这种情况,您应该可以将 IP 添加到trusted.url.domains.


推荐阅读