Squid는 "sudo"로 실행할 때만 작동합니다.

Squid는 "sudo"로 실행할 때만 작동합니다.

squid가능한 프록시 인스턴스를 실행하고 싶습니다 . 하지만 squid가 sudo로 시작된 경우에만 연결할 수 있습니다. 오징어 구성에는 다음이 있습니다.

access_log none
cache_store_log none
cache_log /dev/null
$ squid -n squida -f /tmp/squid_80fm8klt.conf                                                                                                              
$ curl --proxy http://localhost:3129  https://httpbin.org/ip                                                                                                   
curl: (7) Failed to connect to localhost port 3129: Connection refused
$ sudo squid -n squida -f /tmp/squid_80fm8klt.conf                                                                                                         
WARNING: Cannot write log file: none
none: Permission denied
         messages will be sent to 'stderr'.
$ curl --proxy http://localhost:3129  https://httpbin.org/ip                                                                                                     
{
  "origin": "92.119.18.XX"
}

저는 Fedora 32 시스템을 사용하고 있습니다.

전체 구성:

http_access allow all

coredump_dir /var/spool/squid3

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

access_log none
cache_store_log none
cache_log /dev/null

never_direct allow all
cache_peer zzz.nordvpn.com parent 89 3130 tls login=xXx:yYy
http_port 3129

답변1

@muru가 언급했듯이 달리는 오징어 squid -N -d 1

2021/07/27 03:20:12| FATAL: failed to open /run/squid.pid: (13) Permission denied
    exception location: File.cc(190) open

해결책은 pidfile을 다른 디렉토리에 넣거나 생성하지 않는 것입니다.http://www.squid-cache.org/Doc/config/pid_filename/ 이것을 구성에 넣으십시오.

pid_filename none

관련 정보