我目前正在尝试为我的网站设置simplesamlphp身份验证,但在配置期间,当以管理员身份登录时,我会继续运行重定向循环。我得出结论是因为无法启动会话,我认为这是由缓存的simplesaml文件夹引起的。我试图这样做,所以我的服务器上的simplesaml文件夹没有被缓存。我已经在我的服务器上编辑了default.vcl文件并进行了以下设置
# Do not cache these paths.
if (req.url ~ "^/status\.php$" ||
req.url ~ "^/update\.php" ||
req.url ~ "^/install\.php" ||
req.url ~ "^/batch/.*$" ||
req.url ~ "^/admin" ||
req.url ~ "^/admin/.*$" ||
req.url ~ "^/user" ||
req.url ~ "^/user/.*$" ||
req.url ~ "^/users/.*$" ||
req.url ~ "^/info/.*$" ||
req.url ~ "^/flag/.*$" ||
req.url ~ "^.*/ajax/.*$" ||
req.url ~ "^.*/ahah/.*$" ||
req.url ~ "^/simplesaml/.*$" ||
req.url ~ "^/saml_login"){
return (pass);
}
正如您所看到的,我已将simplesaml文件夹添加到不缓存但它无法正常工作。我正在努力想知道自己哪里出错了。
欢迎任何帮助。谢谢!
答案 0 :(得分:0)
VCL是正确的。 它可能需要一段时间才能启动,因为它可能是简单的文件TTL尚未过期而你仍然在缓存simplesaml文件。一旦文件被破解并且将触发对该文件夹的新请求,该内容将不被缓存。
答案 1 :(得分:0)
io
如果条件应该在 vcl_rec 内,那么所有的工作。
#wordpress 示例
sub vcl_rec {
if (req.url ~ "^/status\.php$" ||
req.url ~ "^/update\.php" ||
req.url ~ "^/install\.php" ||
req.url ~ "^/batch/.*$" ||
req.url ~ "^/admin" ||
req.url ~ "^/admin/.*$" ||
req.url ~ "^/user" ||
req.url ~ "^/user/.*$" ||
req.url ~ "^/users/.*$" ||
req.url ~ "^/info/.*$" ||
req.url ~ "^/flag/.*$" ||
req.url ~ "^.*/ajax/.*$" ||
req.url ~ "^.*/ahah/.*$" ||
req.url ~ "^/simplesaml/.*$" ||
req.url ~ "^/saml_login"){
return (pass);
}
}
更完美的缓存配置遵循指南与示例。
https://gist.github.com/tejastank/8b9ead9129e1ef9960ccb8d39ebc5067#file-default-vcl_preface-md