Squid3 拒绝连接

Squid3 拒绝连接

我正在尝试使用 Squid 作为一个简单的 Web 代理,但是,在将我的服务器升级到 Ubuntu 17.04 后,它就停止工作了。

我已经禁用了 ufw,所以防火墙不是问题。我可以使用telnet其他端口并连接,ssh这样我就可以清楚地与服务器通信。除此之外,它telnet localhost 3128工作得非常好,但使用外部端口时就会掉线。

我的squid.conf

acl SSL_ports port 443
acl CONNECT method CONNECT
cache_peer {redacted company filtering server} parent 80 0 no-query default
never_direct allow all
http_access allow all
#http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 127.0.0.1:3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .               0       20%     4320

结果netstat -plnt

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2222/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1108/cupsd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1307/smbd
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2061/mysqld
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      1627/systemd-resolv
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1307/smbd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1699/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      2222/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1108/cupsd
tcp6       0      0 :::3000                 :::*                    LISTEN      2204/gitea
tcp6       0      0 :::445                  :::*                    LISTEN      1307/smbd
tcp6       0      0 :::5355                 :::*                    LISTEN      1627/systemd-resolv
tcp6       0      0 :::139                  :::*                    LISTEN      1307/smbd
tcp6       0      0 :::80                   :::*                    LISTEN      1699/nginx: master

结果telnet localhost 3128

seeng@GITServ:~$ telnet localhost 3128
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

telnet {hostIP} 3128来自远程机器的结果:

PS C:\Users\James.Hughes> telnet {hostIP} 3128
Connecting To 10.230.48.93...Could not open connection to the host, on port 3128: Connect failed

该服务器只能从公司网络内部访问,但是,通过它cache peer可以访问互联网。因此,本质上我希望任何可以连接到该服务器的计算机都代理到缓存对等点(然后将其发送到 WWW),这在升级之前是可以正常工作的,因此无需担心安全性或访问问题。

有任何想法吗?

答案1

我发现您的帖子中有两个问题。首先,从 的输出中可以清楚地看出,squid 似乎没有运行或监听端口 3128。netstat端口 3128 上没有监听进程。

另一个问题是您的 squid 配置将 http_port 定义为:

http_port 127.0.0.1:3128

这意味着它将只监听环回接口,因此不会监听除本地主机之外的任何主机的连接。

答案2

127.0.0.1:3128问题在于作为指令的一部分的使用http_port

如果我将其更改为 just,3128它就可以正常工作。我猜它只是在该端口上监听来自本地主机的连接。

相关内容