Php Squid代理身份验证失败

Php Squid代理身份验证失败,php,proxy,squid,Php,Proxy,Squid,我按照这个设置了我的代理服务器。 安装Squid和apache2 utils 使用htpasswd创建用户名和密码 sudo htpasswd /etc/squid3/squid_passwd myusername 将以下行追加到squid.conf auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd auth_param basic credentialsttl 2 hours auth_pa

我按照这个设置了我的代理服务器。 安装Squid和apache2 utils

使用htpasswd创建用户名和密码

sudo htpasswd /etc/squid3/squid_passwd myusername
将以下行追加到squid.conf

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
重新启动squid服务器。并在cmd中检查用户名和密码。它说可以

/usr/lib/squid3/ncsa_auth /et/squid3/squid_passwd
myusername password
OK
但我无法从PHP访问

$proxy = "111.11.11.11:8220"; // my squid ip and port
$proxyauth =   base64_encode('username:pass');   // Tried without base64_encode also  
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD,  $proxyauth);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
echo $curl_scraped_page;
if(curl_error($ch))
{
    echo 'error:' . curl_error($ch);

}
curl_close($ch);

但是我得到了X-Squid-Error:ERR\u ACCESS\u DENIED Error

您使用了错误的身份验证库来访问密码文件

auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd
应该是

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd

我在使用创建代理服务器时遇到了这个问题

经过2次完全重写和200次错误尝试后,我将squid用户名更改为只包含字符(没有数字混合字符串)。它开始工作了!直到今天,我还不知道为什么只需要使用字符作为squid用户名