Created
November 18, 2013 06:47
-
-
Save ravibhure/7523642 to your computer and use it in GitHub Desktop.
HAProxy config for wordpress
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# HAProxy config to block /wp-login.php and wp-admin POST method on wordpress webserver | |
global | |
log 127.0.0.1 local0 | |
log 127.0.0.1 local1 notice | |
#log loghost local0 info | |
maxconn 25000 | |
#debug | |
#quiet | |
user prod | |
group prod | |
defaults | |
log global | |
mode http | |
option tcplog | |
option dontlognull | |
option httpclose | |
retries 3 | |
option redispatch | |
maxconn 25000 | |
contimeout 5000 | |
clitimeout 50000 | |
srvtimeout 50000 | |
stats enable | |
stats auth admin:mypassword ##Auth user pass | |
#begin block end | |
#Configuration for ravibhure.com | |
listen VIP:ravibhure.com:172.28.0.17:80 | |
bind 172.28.0.17:80 | |
log global | |
maxconn 25000 | |
mode http | |
option forwardfor | |
balance leastconn | |
# Here we define the ACL for path & default traffic. | |
acl url_admin path_beg -i /wp-admin /wp-login.php | |
acl url_admin hdr(Cookie) admin | |
acl www_blog hdr_beg(host) -i www. blogs. | |
block if METH_POST !www_blog | |
use_backend admin if url_admin | |
default_backend wp_www | |
backend admin | |
server REAL:wpadmin:172.28.0.139:80 172.28.0.139:80 check | |
backend wp_www | |
server REAL:wpadmin:172.28.0.139:80 172.28.0.139:80 check | |
server REAL:wpweb:172.28.0.140:80 172.28.0.140:80 check | |
#Configuration for images.ravibhure.com | |
listen VIP:images.ravibhure.com:172.28.0.19:80 | |
bind 172.28.0.19:80 | |
log global | |
maxconn 25000 | |
mode http | |
option forwardfor | |
balance leastconn | |
server REAL:wpadmin:172.28.0.139:80 172.28.0.139:80 check | |
server REAL:wpweb:172.28.0.140:80 172.28.0.140:80 check |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for sharing. I've been thinking about how to proxy admin requests to a specific server and just looking over your configuration was a big help.