LinuxForum.Fans
Тема

External_acl_type в SQUID

Автор: magistr_forever 5 сообщений 2164 просмотров
#255991

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 файл и все.
в логах ничего нет.

#256002

А без этого ACL-а запускается?

#256062
"Vadimsky" написал:
А без этого ACL-а запускается?

да

#256074

Соответственно проблема в этом скрипте.
Парол к базе верно прописан? капс не включен? База сама существует?
Если так запустить /usr/local/bin/python_check.py > /var/log/test.txt Без сквада, из консоли
Что в файлике test.txt оказывается?

#257066

со скриптами все нормально...
squid тупит...

Но уже не надо это...

Войдите или зарегистрируйтесь, чтобы ответить.