{"id":334,"date":"2012-06-18T20:40:01","date_gmt":"2012-06-18T12:40:01","guid":{"rendered":"http:\/\/rmohan.com\/?p=334"},"modified":"2012-06-19T16:21:00","modified_gmt":"2012-06-19T08:21:00","slug":"pound-loadbalancer","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=334","title":{"rendered":"Pound Loadbalancer"},"content":{"rendered":"<p><strong>Pound Loadbalancer<\/strong><\/p>\n<p>Pound is a bit more specific to HTTP\/Web scenarios. It functions as a 100% Layer-7 load balancer as it does full HTTP(S) integration and has full access to the HTTP stack. What this means is that you can do some fancy routing based on cookies, url regex, and do this with SSL termination. You can combine the two and have Pound decrypt the traffic and forward to HAProxy but your setting up a scaling issue if you do.<\/p>\n<p>wget http:\/\/dag.wieers.com\/rpm\/packages\/RPM-GPG-KEY.dag.txt<br \/>\nrpm &#8211;import RPM-GPG-KEY.dag.txt<br \/>\nrm -f RPM-GPG-KEY.dag.txt<br \/>\nvi \/etc\/yum.repos.d\/dag.repo<br \/>\nyum &#8211;enablerepo=dag install pound<\/p>\n<p>vi \/etc\/pound.cfg<\/p>\n<p>ListenHTTP<br \/>\n         Address 192.168.1.11<br \/>\n         Port    80<br \/>\n         Service<br \/>\n                  BackEnd<br \/>\n                       Address 192.168.1.14<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n        BackEnd<br \/>\n                       Address 192.168.1.15<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n          End<br \/>\nEnd<\/p>\n<p>openssl req -x509 -newkey rsa:1024 -keyout local.server.pem -out local.server.pem -days 365 -nodes<\/p>\n<p>ListenHTTP<br \/>\n         Address 192.168.1.11<br \/>\n         Port    80<br \/>\nEND<\/p>\n<p>ListenHTTPS<br \/>\n    Address 192.168.1.11<br \/>\n    Port    443<br \/>\n    Cert    &#8220;\/root\/software\/local.server.pem&#8221;<br \/>\n    Client  20<br \/>\nEnd<br \/>\nService<br \/>\n                  BackEnd<br \/>\n                       Address 192.168.1.14<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n        BackEnd<br \/>\n                       Address 192.168.1.15<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n  End<\/p>\n<p>ListenHTTP<br \/>\n         Address 192.168.1.11<br \/>\n    CheckURL   &#8220;(^\\\/|\\.html|\\.css|\\.jpg|favicon\\.ico|robots\\.txt|\\.png)$&#8221;<br \/>\n   HeadRemove &#8220;X-Forwarded-For&#8221;<br \/>\n   MaxRequest 1024<br \/>\n   Port       80<br \/>\n   xHTTP      0<br \/>\n     Service<br \/>\n         Redirect &#8220;https:\/\/www.mohan.com&#8221;<br \/>\n  End<br \/>\n  Service<br \/>\n         Redirect &#8220;https:\/\/mohan.com&#8221;<br \/>\n  End<br \/>\nEND<\/p>\n<p>ListenHTTPS<br \/>\n    Address 192.168.1.11<br \/>\n    Port    443<br \/>\n    Cert    &#8220;\/root\/software\/local.server.pem&#8221;<br \/>\n    Client  20<br \/>\nEnd<br \/>\nService<br \/>\n                  BackEnd<br \/>\n                       Address 192.168.1.14<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n        BackEnd<br \/>\n                       Address 192.168.1.15<br \/>\n                       Port    80<br \/>\n                  End<br \/>\n End<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pound Loadbalancer<\/p>\n<p>Pound is a bit more specific to HTTP\/Web scenarios. It functions as a 100% Layer-7 load balancer as it does full HTTP(S) integration and has full access to the HTTP stack. What this means is that you can do some fancy routing based on cookies, url regex, and do this with SSL termination. [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/334"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=334"}],"version-history":[{"count":4,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions"}],"predecessor-version":[{"id":988,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions\/988"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}