[英]Squid Proxy Authentication fails
我按照本教程来设置我的代理服务器。 安装 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
我在使用https://createproxy.com创建代理服务器时遇到了这个问题
经过 2 次完全重写和 200 次错误尝试后,我将鱿鱼用户名更改为仅包含字符(没有与数字混合的字符串)。 它开始工作! 直到今天都不知道为什么只需要使用字符作为鱿鱼用户名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.