Am o problemă. Am 2 servere de producție cu NGINX funcțional pe 2 domenii production-app1.example.com
și production-app2.example.com
dar când le adaug în haproxy balancer și folosesc doar primul sau al doilea, al doilea funcționează, dar primul returnează pagina de bun venit nginx.
Configurația Nginx este aceeași pentru ambele, diferă doar în numele serverului
. Nu pot să-mi dau seama unde este problema.
Aceasta este configurația mea haproxy:
global
maxconn 500000
log /dev/log local0
log /dev/log local1 notificare
chroot /var/lib/haproxy
socket statistici /run/haproxy/admin.sock mod 660 nivel de administrare expose-fd ascultători
statistici timeout 30s
utilizator haproxy
haproxy de grup
demonul
# Locații implicite ale materialelor SSL
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Cifruri implicite de utilizat pe prizele de ascultare compatibile SSL.
# Pentru mai multe informații, consultați ciphers(1SSL). Aceasta lista este de la:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# O listă alternativă cu directive suplimentare poate fi obținută de la
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3
implicite
jurnal global
modul http
opțiunea httplog
opțiunea dontlognull
opțiune forwardfor
opțiunea http-server-close
timeout connect 10s
timeout client 30s
timeout server 120s
fişierul de erori 400 /etc/haproxy/errors/400.http
fişierul de erori 403 /etc/haproxy/errors/403.http
fişierul de erori 408 /etc/haproxy/errors/408.http
fişierul de erori 500 /etc/haproxy/errors/500.http
fişierul de erori 502 /etc/haproxy/errors/502.http
fişierul de erori 503 /etc/haproxy/errors/503.http
fişierul de erori 504 /etc/haproxy/errors/504.http
frontend http_front
lega *:80
statistici uri /haproxy?stats
default_backend http_back
backend http_back
sursa de echilibru
cookie SERVERUSED introduce indirect nocache
modul http
http-request set-header X-Client-IP %[src]
opțiunea httpchk HEAD / HTTP/1.0
server producție-app1.example.com production-app1.example.com:80 verifica toamna 2 creșterea 2
server producție-app2.example.com production-app2.example.com:80 verifica toamna 2 creșterea 2
Aceasta este conf. nginx pe 1 aplicație (nu funcționează una)
gazdă:
producție_aplicație în amonte {
# Calea către fișierul Puma SOCK, așa cum a fost definit anterior
server unix:/var/www/production/app/shared/tmp/sockets/puma.sock fail_timeout=0;
}
Server {
nume_server producție-aplicație1.example.com;
root /var/www/production/app/shared/public;
try_files $uri/index.html $uri @app;
locație @app {
proxy_pass http://app_production;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Gazdă $http_host;
proxy_redirect dezactivat;
}
#Â logare
#
access_log /var/www/log/production/app/access.log;
error_log /var/www/log/production/app/error.log;
pagina_eroare 500 502 503 504 /500.html;
client_max_body_size 4G;
#keepalive_timeout 10;
asculta 80;
}
și configurația globală nginx
# server de producție nginx config
implementarea utilizatorului;
lucrător_procese 2; # performanță mai bună cu vârfuri IO
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
evenimente
{
conexiuni_muncitor 4096;
}
http
{
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
## Reglare HTTP2
http2_max_concurrent_pushes 512;
http2_max_concurrent_streams 512;
http2_chunk_size 16k;
http2_body_preread_size 256k;
connection_pool_size 5600;
# Keepalive are nevoie de asta
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „”;
sendfile activat;
tcp_nopush activat;
tcp_nodelay activat;
keepalive_timeout 360;
keepalive_requests 10000;
types_hash_max_size 2048;
server_names_hash_bucket_size 128;
large_client_header_buffers 8 5600;
# timeout-uri proxy
proxy_connect_timeout 120s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 440s;
# tamponare și stocare în cache
proxy_cache_path /tmp/nginx-cache keys_zone=nginx-cache:10m loader_threshold=300 loader_files=200 max_size=200m;
proxy_cache nginx-cache;
proxy_buffers 40 16k;
dimensiunea_buffer_proxy 512k;
proxy_busy_buffers_size 512k;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
# Setări SSL (vor fi adăugate)
log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
'$status $body_bytes_sent "$http_referer" '
„$http_user_agent” „$http_x_forwarded_for””
'request_time=$request_time '
'upstream_response_time=$upstream_response_time'
'upstream_connect_time=$upstream_connect_time'
'upstream_header_time=$upstream_header_time';
access_log /var/log/nginx/access.log buffer principal=2048k flush=120;
includ /etc/nginx/conf.d/*.conf;
includ /etc/nginx/sites-enabled/*;
}
Al doilea are aceeași configurație, dar funcționează ca un farmec.
Multumesc pentru ajutor.