-
Notifications
You must be signed in to change notification settings - Fork 14
Listener configuration
skruger edited this page Aug 3, 2011
·
2 revisions
{listen_plain,{ip,Address},Port,ConfigList}
Address = ({A,B,C,D}|{A,B,C,D,E,F,G,H}|"ip-string"|"::"|"0.0.0.0")
Port = int()
ConfigList = listen_config()
listen_config() = [{protocol,ProtcolFamily}|{num_listeners,Count}|inet6|
{pool,PoolName}|{pool_retries,PoolRetries}|{backend_port,Port}|
{proxy_host,{{ip,Address},Port}}]
ProtocolFamily = http|socks|http_admin|raw %% implements proxy_protocol behaviour
PoolName = atom() %% See mod_balance
PoolRetries = int() %% Number of times to request a new pool member before failing to connect
{listen_ssl,{ip,Address},Port,SSLConfigList}
SSLConfigList = listen_config()|ssl_listen_config()
ssl_listen_config() = [{keyfile,PEMKeyFile}|{certfile,PEMCertFile}]
%% Log levels:
% 0: CRITICAL
% 1: ERROR
% 2: WARNING
% 3: INFO
% 4: DEBUG
% 5: DEBUG+
{log_level, 3}.
{listeners,[
{listen_plain,{ip,{0,0,0,0}},3128,
%% http forward proxy
[{protocol,http},
enable_gzip,
{stream_filters,[mod_forward_proxy,filter_auth]},
{filter_auth,[{type,basic},{mode,proxy}]}
]},
{listen_plain,{ip,{0,0,0,0}},1080,
%% SOCKS 4/5 forward proxy
[{protocol,socks},
enable_gzip,
{stream_filters,[mod_forward_proxy]}
]},
{listen_plain,{ip,{0,0,0,0}},3306,
%% Mysql load balancing
[{protocol,raw},
{pool,mysqlservers},
{backend_port,3306}
]},
{listen_ssl,{ip,{0,0,0,0}},443,
%% HTTP admin interface
[{protocol,http_admin},
{docroot,{zip,"/var/lib/surrogate/docroot.zip"}},
{docroot,{mnesia,surrogate_webadmin}}
%% These two docroots have not been developed yet. They won't work as of 20110803.
]}
]}.
%% Users with access to HTTP admin interface
{acl,{http_admin,"user1"}}.
{acl,{http_admin,"user2"}}.
{modules,[
{mod_mysql,[{sql_auth_conn,"localhost",3306,"user","password","database"}]},
{proxy_auth,[
%{default_auth,mnesia}
{default_auth,{mysql,sql_auth_conn}}
]},
{mod_cluster,[
{ifconfig_script,"/sbin/ifconfig"},
{ip_script,"/sbin/ip"}, %% IPv6 address management
{listen_interface,"eth0"},
{quorum,1} %% Number of living nodes to have quorum.
]},
{mod_balance,[
{mysqlservers,balance_round_robin,[
{hosts,[
{192,168,1,51},
{192,168,1,52},
{192,168,1,53}]},
{checks,[
{healthcheck_tcp,[{port,3306}]}
]}
]}
]}
]}.