Click here to Skip to main content
15,888,590 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello,

I have configured my dedicated server to link domains with default port (80) to my nodejs ports accordingly to domain name. E.g. site1.com to port 2222 and site2.com to port 3333.

My question is how to pass a subdomain name as a parameter, e.g.:
param1.site1.com:80 should go to 127.0.0.1:2222/param1

My haproxy config:
global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    maxconn 4096
    user haproxy
    group haproxy
    daemon

defaults
    log global
    mode http
    option httplog
    option dontlognull
    retries 3
    option redispatch
    maxconn 2000
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000

frontend http-in
    bind *:80
    acl is_www_site1_com hdr_end(host) -i site1.com
    acl is_www_site2_com hdr_end(host) -i site2.com
    
    use_backend www_site1_com if is_www_site1_com
    use_backend www_site2_com if is_www_site2_com
    default_backend www_site1_com

backend www_site1_com
    balance roundrobin
    cookie SERVERID insert nocache indirect
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server Server1 127.0.0.1:2222 cookie Server1

backend www_site2_com
    balance roundrobin
    cookie SERVERID insert nocache indirect
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server Server1 127.0.0.1:3333 cookie Server1


I hope someone knows answer :) Thanks!
Posted

1 solution

If haproxy redirects the site to the specific server and port, the host name should still stay the same in the users browser so you should be able to extract the subdomain from the hostname and then redirect on the site to the specific folder relating to the subdomain such as Apache's RewriteEngine or using a php or Node.js module on the server itself??
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900