HAProxy sunucunun sunucusu yok | m24sniperweaponsystem.com
CentOS 7'de node.js arka uçlarıyla çok basit bir HTTP yük dengeleyicisi kurmaya çalışıyorum. Arka uçların tümü HTTP sunucularıdır.
80 numaralı bağlantı noktasını dinleyecek arka bağlantıyı ve bağlantı noktası 80'i dinleyecek ve arka uçta 80 numaralı bağlantı noktasını kullanacak olan HAProxy'yi ayarladıysam, her şey gayet iyi çalışır. Yapılandırma dosyası böyle bir yapılandırmada şöyle görünür:
timeout connect    10s
timeout client     30s
timeout server     30s
server             backend1 10.0.4.51:80 check
#    server             backend2 10.0.4.52:80 check
#    server             backend3 10.0.4.53:80 check
#    server             backend4 10.0.4.54:80 check
#    server             backend5 10.0.4.55:80 check
#    server             backend6 10.0.4.56:80 check
Ancak, tüm bağlantı noktalarını 8124 olarak değiştirirseniz, HAProxy başlangıçta aşağıdaki hatayı gösterir:
haproxy: backend backend_servers has no server available!
Yeni konfigürasyon böyle görünüyor
server             backend1 10.0.4.51:8124 check
#    server             backend2 10.0.4.52:8124 check
#    server             backend3 10.0.4.53:8124 check
#    server             backend4 10.0.4.54:8124 check
#    server             backend5 10.0.4.55:8124 check
#    server             backend6 10.0.4.56:8124 check
Kesinlikle arka uç node.js programı artık 8124 numaralı bağlantı noktasında dinleniyor.
Güvenlik duvarı arka uçta 8124 bağlantı noktası ve aşağıdaki komut için açıktır:
Yük dengeleyicisinin, yük dengeleyicisinin arka uca gerçekten erişebileceğini gösteren mükemmel bir şekilde çalışır.
Bu koşullar altında, HAProxy başlangıçta başarısız oldu çünkü 8124 numaralı bağlantı noktasını göremiyorum. LISTEN kullandigim zaman netstat -an.
Bu HAProxy kullanıyorum ilk kez, bu yüzden gerçekten önemsiz bir şey eksik olabilir.
Kontrol etmem gereken başka bir şey var mı?
Sorun, HAProxy'nin yapılandırmasında değil, SELinux'ta etkinleştirilmiş ve CentOS 7'de varsayılan olarak zorlama moduna ayarlanmış durumda. SELinux'un varsayılan yapılandırması, yalnızca bağlantı noktası 80'de HAProxy'ye izin veriyor gibi görünüyor.
SELinux'un izin verme moduna ayarlanması, tamamen devre dışı bırakılması veya SELinux'un HAProxy'nin diğer portları kullanmasına izin vermesi sorunu çözmüştür.
Portu kullanarak HAProxy'ye izin vermek için semanage'ı kullanabilirsiniz:
sudo semanage port -a -p tcp -t http_port_t 8124
Aynı problemi çözüp görmediğimi kontrol etmek için neler kontrol edebilirim? Günlükte aynı hatayı aldım ama sorunun nedenini nasıl kontrol edeceğim? - realtebo
Bir grafik kartı / iki kafa ile sistem yolunu multiseat yapmak mümkün mü? Hudson CI'dan SMTP (Gmail) kullanarak e-posta gönderme Parola tabanlı kimlik doğrulaması kullanan bir makinede ssh bağlantı kurulumu sırasında ortaya çıkan adımlar nelerdir? IP Aralığı 192.168.1.1'den 192.168.2.254'e nasıl genişletilir Windows komut satırından .cer sertifikası alın Linux mst-Raid ile SSD'de Linux fstrim'in uygulanması Yalnızca Uzak Oturumlar için Ekran Koruyucuyu Devre Dışı Bırak