squid.conf
text
external_acl_type python_check ttl=300 children=10 %SRC /usr/local/bin/python_check.py
acl PythonTest external python_check
http_access allow PythonTest
/usr/local/bin/python_check.py
text
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import MySQLdb
import re
def main(arg):
while 1:
l = sys.stdin.readline().split()
ip = l[0]
db = MySQLdb.connect(host="", db="", user="", passwd="")
cursor = db.cursor()
cursor.execute("select count(*) from DenyList WHERE clientip = INET_ATON('%s');"%ip)
data = cursor.fetchone()
if data[0]> 0:
sys.stdout.write('ERR\n')
else:
sys.stdout.write('OK\n')
sys.stdout.flush()
cursor.close()
db.close()
if __name__ == '__main__':
sys.exit(main(arg=sys.argv[1:]))
squid не запускается.
создает свой Pid файл и все.
в логах ничего нет.