Я создал простой обратный прокси-сервер с использованием витой, чтобы я мог блокировать некоторые запросы, поступающие на мой сервер. Проверка URI работает нормально, но я также хотел бы добавить черный список ipv4.
Как я могу проверить, какой ip-соединение подключается к моему прокси-серверу, и в итоге отказаться от соединения?
Вот мой код:
class BadURL(Resource):
def render(self, request):
return ""
class HTTPSReverseProxyResource(proxy.ReverseProxyResource, object):
def getChild(self, path, request):
if some logic:
return BadURL()
child = super(HTTPSReverseProxyResource, self).getChild(path, request)
return HTTPSReverseProxyResource(child.host, child.port, child.path,
child.reactor)
if __name__ == '__main__':
ap = argparse.ArgumentParser()
ap.add_argument('-c', type=str)
ap.add_argument('-k', type=str)
ns = ap.parse_args()
myProxy = HTTPSReverseProxyResource('localhost', 4443, '')
site = server.Site(myProxy)
reactor.listenTCP(8080, site, interface='192.168.58.1')
reactor.run()