Das Problem liegt in der Regex. Änderte die Regex mit dieser: \b(iphone|prod)\b.*\.facebook\.com
und jetzt stoppt Squid die URLs. Nach dem Ausführen von squid3 -k parse
Squid gibt es kein Problem. Wenn ein Benutzer versucht, auf einen alternativen Facebook-Link zuzugreifen, wie beispielsweise (test.prod.facebook.com), lehnt der Proxy die Verbindung ab.
acl url_regex für squid3 funktioniert nicht mit einem online getesteten regulären Ausdruck
Ich wurde gebeten, den Zugriff auf Facebook für fast alle Benutzer von 8.00 bis 15.00 Uhr zu sperren, aber sie verwenden ohnehin alternative Facebook-URLs, um auf das soziale Netzwerk zuzugreifen. Dies verbraucht viel von unserer geringen Bandbreite und wir können nicht einmal arbeiten. Ich entschied mich für einen regulären Ausdruck (Regex), um diese URLs zu analysieren und zu blockieren . Ich möchte nicht alle Facebook-URLs blockieren, sondern nur Alternativen. Eine alternative Facebook-URL enthält meistens die Wörter prod oder iphone . Die nächsten sind alternative Facebook-URLs, die von unserem Proxy-Server registriert wurden:
m.iphone.touch.prod.facebook.com m.iphone.haid.prod.facebook.com:443 m.ct.prod.facebook.com m.vi-vn.prod.facebook.com
Der entworfene Regex: /((?=.*\biphone\b)|(?=.*\bprod\b)).*\.facebook\.com(\:|\d|)/
Ich habe diese Regex auf https://regex101.com/ und https://www.regextester.com getestet . Die Regex passt zu:
m.iphone.touch.prod.facebook.com m.iphone.haid.prod.facebook.com:443 m.ct.prod.facebook.com m.vi-vn.prod.facebook.com
Und passt nicht zu:
www.facebook.com m.facebook.com mqtt.facebook.com (for purple-facebook) graph.facebook.com connect.facebook.com 3-edge-chat.facebook.com
Bisher wollte ich dies, alternative URLs blockieren und reguläre Facebook-URLs erlauben. Mein Regex sieht gut aus, um in Tintenfisch verwendet zu werden .
Der nächste Schritt besteht darin, die Datei /etc/squid3/squid.conf zu ändern, indem Sie ein neues ACL hinzufügen, das auf die Datei verweist, die die Regex enthält:
acl facebook dstdom_regex "/etc/squid3/acl/facebook" //The file contains the regex http_access deny pass facebook
Wenn ich squid3 -k parse zur Überprüfung der Konfigurationsdatei starte, erhalte ich die Fehler:
2017/09/22 11:12:26| Processing: acl facebook dstdom_regex "/etc/squid3/acl/facebook" 2017/09/22 11:12:26| squid.conf line 78: acl facebook dstdom_regex "/etc/squid3/acl/facebook" 2017/09/22 11:12:26| aclParseRegexList: Invalid regular expression '((?=.*\biphone\b)|(?=.*\bprod\b)).*\.facebook\.com(\:|\d|)': Invalid preceding regular expression 2017/09/22 12:39:33| Warning: empty ACL: acl facebook dstdom_regex "/etc/squid3/acl/facebook"
Offensichtlich markiert der Squid3-Parser mein acl als falsch, aber ich habe bereits online getestet und es war gut zu benutzen. Es heißt auch, dass die ACL leer ist. Was bedeutet das? Die ACL wurde mit dem Namen Facebook erklärt . Ich bin darüber sehr verwirrt.
1 Antwort auf die Frage
Verwandte Probleme
-
2
Gibt es eine Möglichkeit, ein drahtloses Netzwerk an eine Proxy-Einstellung zu binden?
-
14
Regex-Tool für Linux
-
5
Zugriff auf Hulu / Youtube außerhalb der USA
-
1
Opera "vergisst" die Proxy-Definition, wenn der Proxy nicht erreichbar ist
-
5
Firefox automatisch zum Standard-Internet-Proxy machen lassen?
-
1
Apache Reverse Proxy
-
3
Kann nicht herausfinden, warum diese Regex nicht zutrifft
-
2
Kostenloser Proxyserver für Windows Home Server?
-
2
Entfernen von Zeilenumbrüchen aus einer RTF-Datei mit sed
-
3
Die Proxy-Einstellungen des PCs werden überschrieben