Haproxy mit Nginx für Webserver-Hosting

Haproxy mit Nginx für Webserver-Hosting

Ich habe einen Nginx-Server, der verschiedene Webserver auf Port 80 und 443 bedient, was einwandfrei funktioniert, wenn ich direkt darauf zugreife.

abc.com, zyx.com

 client ---->abc.com,zyx.com (on nginx)

Jetzt versuche ich, dasselbe über Haproxy zu tun, aber es gelingt mir nicht.

 client -----> abc.com, zyx.com (on haproxy) ----->nginx (abc.com, zyx.com)

Haproxy und Nginx befinden sich auf demselben VPC, daher möchte ich es weiter modifizieren, um die interne IP aufzurufen. Kann das Gleiche erreicht werden?

Nachfolgend finden Sie die Konfiguration für Haproxy

   global
    daemon
    maxconn 100000
    gid 99
    uid 99
    log /dev/log    local0
    log /dev/log    local1 notice
    nbproc 4
    pidfile /etc/haproxy/pid


   defaults
    log global
    mode http
    maxconn 100000
    option dontlognull
    option forwardfor except 127.0.0.1
    option http-server-close
    option httpclose
    option httplog
    option http_proxy
    option redispatch
    option logasap
    option log-separate-errors
    retries 3

    timeout http-request 86400
    timeout queue 86400
    timeout connect 86400
    timeout client 86400
    timeout server 86400
    timeout http-keep-alive 3000
    timeout check 2000

    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http


   frontend https-in
    bind *:443 ssl crt /etc/haproxy/ssl/*.pem
    reqadd X-Forwarded-Proto:\ https
    acl abc hdr(host) -i abc.com
    use_backend wow if abc

   frontend http
    bind *:80
    compression algo gzip
    compression type application/json text/html text/plain text/css
    reqadd X-Forwarded-Proto:\ http
    stats enable
    stats hide-version
    stats uri /stats
    stats realm Haproxy\ Statistics
    stats auth haproxy:haproxy
    stats refresh 10s 

    acl zyx hdr(host) -i zyx.com
    use_backend amazing if zyx

   wow
    server nginx someip:443 check
   amazing
    server nginx someip:80 check

Nachfolgend finden Sie die Konfiguration des Nginx-Servers

abc.com

         server {
      listen 443;
      server_name abc.com;
      ssl on;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_certificate /etc/nginx/ssl/*.crt;
      ssl_certificate_key /etc/nginx/ssl/*.key;

      location  / {
       root /location_of_webserver;
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_connect_timeout      360;
       proxy_send_timeout         360;
       proxy_read_timeout         360;
      }
    }

www.zyx.com

    server {
            listen 80;
            server_name zyx.com;

            location  / {
              alias /location_of_webserver/;
              autoindex on;
              expires 24h;
             }
    }

Antwort1

Versuchen Sie, Folgendes zu ändern:

wow
server nginx someip:443 check
amazing
server nginx someip:80 check

Zu:

backend wow
server nginx ipaddress:443 check
backend amazing
server nginx ipaddress:80 check

Wenn Sie Ihre Fragen mit Protokolldateifehlern aktualisieren können, wäre es einfacher, die Ursache zu ermitteln.

verwandte Informationen