HAproxy for sub pages?
-
Hi,
I was wondering if someone could assit me on a dilema been having,So I have 2 servers both running IIS
server 1: 192.168.1.1
server 2: 192.168.1.152
The idea that the users can go to messages.mydomain.com and would point to 192.168.1.1
and if the user goes to messages.mydomain.com/downloadswould point to 192.168.1.152
Would this be possible?
Thank you
So far this is
/var/etc/haproxy.cfg file contents: global maxconn 500 stats socket /tmp/haproxy.socket level admin uid 80 gid 80 nbproc 1 chroot /tmp/haproxy_chroot daemon listen HAProxyLocalStats bind 127.0.0.1:2200 name localstats mode http stats enable stats refresh 5 stats admin if TRUE stats uri /haproxy_stats.php?haproxystats=1 timeout client 5000 timeout connect 5000 timeout server 5000 frontend Technology bind 190.X.XX.XX:80 name 190.X.XX.XX:80 mode http log global option http-keep-alive timeout client 30000 acl aclusr_host_starts_with_messages.domain.com hdr_beg(host) -i messages.domain.com use_backend technology_http_ipvANY if aclusr_host_starts_with_messages.domain.com frontend Messages bind 190.X.XX.XX:80 name 190.X.XX.XX:80 mode http log global option http-keep-alive timeout client 30000 acl aclusr_host_ends_with__2fdownloads hdr_end(host) -i /downloads use_backend Messages_http_ipvANY if aclusr_host_ends_with__2fdescargas backend technology_http_ipvANY mode http timeout connect 30000 timeout server 30000 retries 3 option httpchk OPTIONS / server technology 192.168.1.1:80 check inter 1000 backend Messages_http_ipvANY mode http timeout connect 30000 timeout server 30000 retries 3 server Messages 192.168.1.152:80 check inter 1000 ```         
-
EDIT:
So the first part i got it working which is getting messages.mydomain.com which points internally –-192.168.1.1
the part i cant get is when clients go to messages.mydomain.com/downloads to point internally---192.168.1.152
-
In above config you have originally posted there are 2 frontends configured both binding to the same IP:Port combination. That would give random results..
For the second part is it allowable to have messages.mydomain.com/downloads to point internally to: 192.168.1.152/downloads ?
As that should be relatively easy to configure, if you need to rewrite the url that might be possible, but then its highly likely that the response will contain wrong links/references to otger pages/css/js content.. Currently haproxy cannot rewrite a response body. -
Thanks for the reply,
as you right for the 2 frontends with the both binding IP port so quick question do you recommend maybe changing the port 80 to port 81 for the IP 192.168.1.152 and would that work?
as for the rewrite rule the 192.168.1.152 when entered on the URL shows a webpage with directories if clicked then would go the page so in this case if i go to 192.168.1.152/downloads shows me the page, I see what you mean or would you recommend better messages.mydomain.com to point to 192.168.1.1
and clients.mydomain.com to point to 192.168.1.152?Thank you
/var/etc/haproxy.cfg file contents: global maxconn 500 stats socket /tmp/haproxy.socket level admin uid 80 gid 80 nbproc 1 chroot /tmp/haproxy_chroot daemon listen HAProxyLocalStats bind 127.0.0.1:2200 name localstats mode http stats enable stats refresh 5 stats admin if TRUE stats uri /haproxy_stats.php?haproxystats=1 timeout client 5000 timeout connect 5000 timeout server 5000 frontend 192.168.1.1 bind 1XX.XX.XXX:80 name 1XX.XX.XXX:80 mode http log global option http-keep-alive timeout client 30000 acl aclusr_host_matches_messages.mydomain.com hdr(host) -i messages.mydomain.com use_backend 192.168.1.1_http_ipvANY if aclusr_host_matches_messages.mydomain.com frontend 192.168.1.152 bind 1XX.XX.XXX:80name 1XX.XX.XXX:80 mode http log global option http-keep-alive timeout client 30000 acl aclusr_path_starts_with__2fdownloads path_beg -i /downloads use_backend 192.168.1.152_http_ipvANY if aclusr_path_starts_with__2fdownloads backend 192.168.1.1_http_ipvANY mode http timeout connect 30000 timeout server 30000 retries 3 option httpchk OPTIONS / server technology 192.168.1.1:80 check inter 1000 backend 192.168.1.152_http_ipvANY mode http timeout connect 30000 timeout server 30000 retries 3 option httpchk OPTIONS / server Messages 192.168.1.152:80 check inter 1000
-
Having it like:
messages.mydomain.com to point to 192.168.1.1
clients.mydomain.com to point to 192.168.1.152
Should probably work nicely..As for the frontends make sure to make them 'shared' as the webgui calls it. Or use just use one frontend it the gui, and use the acl+action to select the second backend for the second domain.