我有一个Web服务器,我使用phpmyadmin从中管理mysql数据库。它远程连接到数据库所在的rds。它已经安装并运行了一年多。我将其设置为导航到特定目录,类似于“https://example.com/test".
最近从php7.2升级到7.4后,它现在出现错误“无法识别的内容安全策略指令‘referer’”,并拒绝连接到mysql服务器,而是重定向到https://example.com/test/index.php“这又是登录页面。
当我尝试登录mysql服务器时是什么样子的
我对phpmyadmin上的初始服务器有以下配置。河豚的秘密、主机和端口已被审查,但与工作时相比没有更改。我将其他大多数选项保留为默认选项。
$cfg['blowfish_secret'] = '***********************'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$i = 0;
$i++;
$cfg['Servers'][$i]['verbose'] = 'RDS';
$cfg['Servers'][$i]['host'] = '*****************************';
$cfg['Servers'][$i]['port'] = '****';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['only_db'] = '';
$cfg['Servers'][$i]['hide_db'] = '';
$cfg['Servers'][$i]['pmadb'] = '';
$cfg['Servers'][$i]['bookmarktable'] = '';
$cfg['Servers'][$i]['relation'] = '';
$cfg['Servers'][$i]['table_info'] = '';
$cfg['Servers'][$i]['table_coords'] = '';
$cfg['Servers'][$i]['pdf_pages'] = '';
$cfg['Servers'][$i]['column_info'] = '';
$cfg['Servers'][$i]['history'] = '';
$cfg['Servers'][$i]['verbose_check'] = TRUE;
$cfg['Servers'][$i]['AllowRoot'] = TRUE;
$cfg['Servers'][$i]['AllowDeny']['order'] = '';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array();
$cfg['Servers'][$i]['AllowNoPassword'] = FALSE;
$cfg['Servers'][$i]['designer_coords'] = '';
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50; // DEFAULT: '50'
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M'; // DEFAULT: '32M'
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600; // DEFAULT: '600'
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M'; // DEFAULT: '32M'
我还有一个nginx代码段的以下配置,它包含在我特定网站的nginx conf文件中。我将目录替换为“test”,它有一个软链接“ln-s/usr/share/phpmyadmin/var/www/html/test”。
location /test {
root /var/www/html;
index index.php index.html index.htm;
location ~ ^/test/(.+\.php)$ {
try_files $uri =404;
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/test/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /var/www/html;
}
}
#location /test {
# rewrite ^/* /test last;
#}
文件夹/etc/phpmyadmin及其内容的权限已设置为nginx。
我可以提供任何其他信息,但我尝试了多项更改,包括:
通过“proxy\u set\u header”在nginx中将referer设置为no referer
在phpmyadmin a的头文件中从php本身删除它
完全删除并重新安装phpmyadmin,但未成功。
我发现的所有与“referer”错误相关的在线信息都在谈论刷新缓存,在这种情况下,它不会做任何事情,在多个浏览器上测试。我还尝试过在phpmyadmin上更改为config并输入用户名和密码的建议,它会给出相同的referer错误以及一个完全锁定登录页面的无效设置错误。
我无法判断引用错误是否阻止登录mysql服务器,或者这只是问题的一部分。我一定是遗漏了一些关于phpmyadmin如何使用csp的关键信息,或者nginx配置中出现了一些错误?我错过了什么?
暂无答案!
目前还没有任何答案,快来回答吧!