我无法在 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?
根据这种情况,将不胜感激可行的解决方案和提示。