1

我无法在 Nginx 虚拟主机配置文件中调整重定向,特别是针对“401 错误消息”(需要 401 授权)。

我的目标:当我在 web 浏览器中打开地址时,例如它将是 my.domain.com,我想调整基本身份验证,我想获得具有原始设计和原始登录表单的自定义 html 页面,而不是简单的浏览器窗口。

截屏

因此,对于这个实现需要调整 401 消息上的重定向到我的自定义页面。我确实像这样尝试过,但它没有给我任何结果。

error_page 401 /401.html;
        location ~ (401.html)$ {
            alias /var/www/user/data/my.domain.com/www/index.php;
        }

我仍然看到带有登录表单的窗口,而不是自己的自定义页面屏幕截图

虚拟主机完整代码:

server {
listen       80;
server_name  my.domain.com;

root   /var/www/user/data/my.domain.com/www;
index  index.html;
location / {
    auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;

    error_page 401 /401.html;
        location ~ (401.html)$ {
            alias /var/www/user/data/my.domain.com/www/index.php;
        }

    location ~ \.php$ {
            include       /etc/nginx/fastcgi_params;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }
}

根据我的情况,我需要代码语法方面的帮助,特别是用于自定义 401 html 页面的正确重定向代码,其中登录表单放置在此路径中:

/var/www/user/data/my.domain.com/www/index.php;

也许有人可以在 nginx 中共享此重定向的模板?我还不知道如何正确调整它。也许这里需要使用另一个 nginx 模块,例如auth_request而不是auth_basic

根据这种情况,将不胜感激可行的解决方案和提示。

4

0 回答 0