def start_multiproxy():
import multiproxy
class ProxyRequestHandler(multiproxy.RequestHandler):
def get_relay_addr_uri(self, pipeline, header_list):
""" Returns relay host, port.
May modify self.request_uri or header list (excluding the first element)
Raises exception if connection not allowed.
"""
comps = self.request_uri.split('/')
if len(comps) > 1 and comps[1] and comps[1] in Options['site_list']:
# Site server
site_number = 1+Options['site_list'].index(comps[1])
retval = SiteProps.relay_map(site_number)
elif Global.relay_forward and not self.request_uri.startswith('/_'):
# Not URL starting with '_'; forward to underlying website
retval = Global.relay_forward
else:
# Root server
retval = SiteProps.relay_map(0)
print >> sys.stderr, 'ABC: get_relay_addr_uri:', sliauth.iso_date(nosubsec=True), self.ip_addr, self.request_uri, retval
return retval
Global.proxy_server = multiproxy.ProxyServer(Options['host'], Options['port'], ProxyRequestHandler, log_interval=0,
io_loop=IOLoop.current(), xheaders=True, masquerade="server/1.2345", ssl_options=Options['ssl_options'], debug=True)
评论列表
文章目录