php - Squid 代理身份验证失败

标签 php proxy squid

我关注了这个tutorial设置我的代理服务器。 安装了 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

重新启动鱿鱼服务器。并在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_ACCESS_DENIED 错误

最佳答案

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

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

关于php - Squid 代理身份验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39189633/

相关文章:

proxy - DD-WRT可以安装代理服务器吗?

php - 使用 concat 从单独的单词中取出第一个字母

java - Tomcat 与代理服务器对话

windows - Perl Windows CPANM 代理问题

http - 如何重写 Squid-Cache 内部 URL?

http - Squid修改HTTP-Request并设置cookie

PHP 到 jquery dialog() 交互问题。

php - 将 mysql 结果集转换为要输入 HighCharts 的(名称,数据)对象

php - 扩展 FOSUserBundle 以允许使用电话号码登录

amazon-web-services - 与远程服务器进行 SSL 握手期间的 Apache 错误