2011-01-23 58 views
0

我有HAProxy安裝程序,我沒有任何問題將其指向我的應用程序服務器的公共IP,但我無法將其指向專用IP。我收到「503服務不可用無服務器可用於處理此請求。」錯誤專用IP的HAProxy和NGINX問題

這是我的設置:

haproxy.cfg

global 
     log 127.0.0.1 local0 
     log 127.0.0.1 local1 notice 
     maxconn 4096 
     user haproxy 
     group haproxy 

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

listen webfarm 173.255.222.100:80 
     mode http 
     stats enable 
     stats auth deploy:d3pl0y 
     balance roundrobin 
     cookie JSESSIONID prefix 
     option httpclose 
     option forwardfor 
     server App1 192.168.133.136:80 cookie App1 check 

nginx.conf(用於應用服務器)

#user nobody; 
worker_processes 4; 

#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info; 

#pid  logs/nginx.pid; 


events { 
    worker_connections 1024; 
} 


http { 
    passenger_root /opt/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2; 
    passenger_ruby /opt/ruby/bin/ruby; 

    include  mime.types; 
    default_type application/octet-stream; 

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
    #     '$status $body_bytes_sent "$http_referer" ' 
    #     '"$http_user_agent" "$http_x_forwarded_for"'; 

    #access_log logs/access.log main; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 

    #gzip on; 

server { 
    listen 192.168.133.136:80; 
    port_in_redirect off; 
    server_name localhost; 
    root /var/www/current/public; 
    passenger_enabled on; 
    rack_env production; 
    if (-f $document_root/system/maintenance.html){ 
      rewrite ^(.*)$ /system/maintenance.html break; 
    } 


    if ($host ~* www\.(.*)) { 
      set $host_without_www $1; 
      rewrite ^(.*)$ http://$host_without_www$1 permanent; 
    } 
     } 

    server { 
     listen  80; 
     server_name localhost; 

     #charset koi8-r; 

     #access_log logs/host.access.log main; 

     location/{ 
      root html; 
      index index.html index.htm; 
     } 

     #error_page 404    /404.html; 

     # redirect server error pages to the static page /50x.html 
     # 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     } 

} 

回答

1

503意味着服務器失敗的檢查,這是隻需在你的配置中使用TCP。我懷疑你的流量正在haproxy LB和服務器之間被過濾,或者服務器無法響應LB.

0

haproxy.conf中的後端定義在哪裏?您應該定義一個默認後端,並將服務器App1 192.168.133.136:80 Cookie App1簽入並啓用Haproxy統計信息以檢查發生了什麼。你是否也檢查過防火牆並確保192.168.133.136響應安裝haproxy的服務器?

請檢查以下文章load balancing with haproxy