Рейтинг:0

Один из двух сбалансированных узлов на nginx перенаправляет на страницу приветствия nginx с помощью балансировщика haproxy.

флаг cn

У меня есть проблема. У меня есть 2 рабочих сервера с работающим NGINX на 2 доменах. производство-app1.example.com и производство-app2.example.com но когда я добавляю их в балансировщик haproxy и использую только первый или второй, второй работает, но первый возвращает страницу приветствия nginx.

Конфигурация Nginx одинакова на обоих, отличается только имя сервера. Я не могу понять, где проблема.

Это моя конфигурация haproxy:

Глобальный
        максконн 500000
    журнал /dev/лог локальный0
    журнал /dev/log local1 уведомление
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 уровень администратора expose-fd listeners
    статистика тайм-аут 30s
    пользовательский прокси
    группа haproxy
    демон

    # Расположение материалов SSL по умолчанию
    ca-база /etc/ssl/сертификаты
    crt-база /etc/ssl/частный

    # Шифры по умолчанию для использования в прослушивающих сокетах с поддержкой SSL.
    # Для получения дополнительной информации см. ciphers(1SSL). Этот список взят из:
    # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    # Альтернативный список с дополнительными директивами можно получить из
    # 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-параметры без sslv3

значения по умолчанию
    журнал глобальный
    режим http
    опция httplog
    опция
        опцион вперед для
        опция http-server-close
        тайм-аут соединения 10 сек.
        тайм-аут клиента 30 сек.
        таймаут сервера 120с
    файл ошибок 400 /etc/haproxy/errors/400.http
    файл ошибок 403 /etc/haproxy/errors/403.http
    файл ошибок 408 /etc/haproxy/errors/408.http
    файл ошибок 500 /etc/haproxy/errors/500.http
    файл ошибок 502 /etc/haproxy/errors/502.http
    файл ошибок 503 /etc/haproxy/errors/503.http
    файл ошибок 504 /etc/haproxy/errors/504.http

интерфейс http_front
   привязать *:80
   статистика uri /haproxy?stats
   default_backend http_back

серверная часть http_back
   источник баланса
   cookie SERVERUSED вставить косвенный nocache
   режим http
   http-запрос set-header X-Client-IP %[src]
   опция httpchk HEAD / HTTP/1.0
   сервер production-app1.example.com production-app1.example.com:80 проверить падение 2 рост 2
   сервер production-app2.example.com production-app2.example.com:80 проверить падение 2 рост 2

Это конфиг nginx в 1 приложении (не работает)

хозяин:

вышестоящее приложение_производство {
    # Путь к файлу Puma SOCK, указанному ранее
    сервер unix:/var/www/production/app/shared/tmp/sockets/puma.sock fail_timeout=0;
}

сервер {
    server_name production-app1.example.com;

    корень /var/www/production/app/shared/public;

    try_files $uri/index.html $uri @app;

    местоположение @приложение {
        proxy_pass http://app_production;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Хост $http_host;
        прокси_перенаправление выключено;
    }

    #Â регистрация
    #

    журнал_доступа /var/www/log/production/app/access.log;
    журнал_ошибок /var/www/log/production/app/error.log;

    error_page 500 502 503 504 /500.html;
    client_max_body_size 4G;
    #keepalive_timeout 10;

    слушать 80;
}

и глобальная конфигурация nginx

# конфиг nginx рабочего сервера
пользовательское развертывание;
рабочие_процессы 2; # лучшая производительность с пиками ввода-вывода
worker_rlimit_nofile 65535;

error_log /var/log/nginx/error.log предупреждение;
pid /var/run/nginx.pid;


События
{
    рабочие_подключения 4096;
}

http
{
    включить /etc/nginx/mime.types;
    default_type application/octet-stream;

    ## Настройка HTTP2
    http2_max_concurrent_push 512;
    http2_max_concurrent_streams 512;
    http2_chunk_size 16 КБ;
    http2_body_preread_size 256 КБ;
    connection_pool_size 5600;
    # keepalive нужно это
    прокси_http_версия 1.1;
    proxy_set_header Соединение "";

    отправить файл включен;
    tcp_nopush включен;
    tcp_nodelay включен;
    keepalive_timeout 360;
    keepalive_requests 10000;
    типы_хэш_макс_размер 2048;
    server_names_hash_bucket_size 128;
    large_client_header_buffers 8 5600;

    # время ожидания прокси
    proxy_connect_timeout 120 с;
    proxy_send_timeout 300 с;
    proxy_read_timeout 300 с;
    send_timeout 440 с;

    # буферизация и кеширование
    proxy_cache_path /tmp/nginx-cache keys_zone=nginx-cache:10m loader_threshold=300 loader_files=200 max_size=200m;
    proxy_cache nginx-кэш;
    proxy_buffers 40 16k;
    proxy_buffer_size 512 КБ;
    proxy_busy_buffers_size 512 КБ;
    proxy_cache_valid 200 302 10 м;
    proxy_cache_valid 404 1 м;

    # Настройки SSL (будут добавлены)

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$статус $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"'
    'время_запроса=$время_запроса'
    '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 main buffer=2048k flush=120;

    включить /etc/nginx/conf.d/*.conf;
    включить /etc/nginx/sites-enabled/*;
}

Второй имеет такую ​​же конфигурацию, но работает как шарм.

Спасибо за помощь.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.