Nginx 重写规则 saml

Nginx rewrite rule saml

我正在尝试在 nginx 网络服务器上安装 simplesaml,但我 运行 遇到了别名问题,一位朋友告诉我使用 rewrite 并给出了下面的示例,但他的示例没有也不工作。

rewrite ^/simplesaml/module.php/(.*) /simplesaml/www/module.php?path= last;
            rewrite ^/simplesaml/(.*)$ /simplesaml/www/ last;

我该如何解决这个问题,两天来我一直在绞尽脑汁,我没主意了。

root /home/mihaela/public_html;

我一直遇到同样的问题,这个配置是我发现唯一有效的配置。

Example NGINX config

这是我的 nginx 配置:

这是我的中央 IDP 配置

server {
    listen 80 default_server;
    server_name saml.local;

    root /srv/sites/saml.local/www/;
    index index.php;

    location ~ \.php(/|$) {
        fastcgi_keep_conn on;
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_URL $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_hide_header X-Powered-By;
        fastcgi_pass 127.0.0.1:9000;
    }
}

这是我的 simplesaml 配置,可通过 /saml

访问
location  /saml {
    alias /srv/sites/site.local/vendor/simplesamlphp/www;
    index index.php;

    location ~ ^(?<prefix>/saml)(?<phpfile>.+?\.php)(?<pathinfo>/.*)?$ {
        fastcgi_param SCRIPT_FILENAME $document_root$phpfile;
        fastcgi_param PATH_INFO       $pathinfo if_not_empty;
        include fastcgi_params;
        fastcgi_hide_header X-Powered-By;
        fastcgi_pass 127.0.0.1:9000;
    }
}