Tôi có một vấn đề. Tôi có 2 máy chủ sản xuất với NGINX đang hoạt động trên 2 miền sản xuất-app1.example.com
và sản xuất-app2.example.com
nhưng khi tôi thêm chúng vào bộ cân bằng haproxy và chỉ sử dụng đầu tiên hoặc thứ hai, cái thứ hai đang hoạt động nhưng cái đầu tiên trả về trang chào mừng nginx.
Cấu hình Nginx giống nhau trên cả hai, chỉ khác ở tên máy chủ
. Tôi không thể tìm ra vấn đề ở đâu.
Đây là cấu hình haproxy của tôi:
toàn cầu
maxconn 500000
nhật ký/dev/log cục bộ0
log /dev/log local1 thông báo
chroot /var/lib/haproxy
thống kê ổ cắm /run/haproxy/admin.sock chế độ quản trị viên cấp 660 trình nghe fd
thời gian chờ thống kê 30s
người dùng haproxy
nhóm haproxy
yêu tinh
# Vị trí tài liệu SSL mặc định
ca-base /etc/ssl/certs
crt-base/etc/ssl/riêng tư
# Mật mã mặc định để sử dụng trên ổ cắm nghe hỗ trợ SSL.
# Để biết thêm thông tin, hãy xem mật mã (1SSL). Danh sách này là từ:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# Có thể lấy danh sách thay thế với các chỉ thị bổ sung từ
# 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
mặc định
đăng nhập toàn cầu
chế độ http
tùy chọn httplog
tùy chọn donlognull
tùy chọn chuyển tiếp
tùy chọn http-server-đóng
hết thời gian kết nối 10s
máy khách hết thời gian 30 giây
máy chủ hết thời gian 120s
tệp lỗi 400 /etc/haproxy/errors/400.http
tệp lỗi 403 /etc/haproxy/errors/403.http
tệp lỗi 408 /etc/haproxy/errors/408.http
tệp lỗi 500 /etc/haproxy/errors/500.http
tệp lỗi 502 /etc/haproxy/errors/502.http
tệp lỗi 503 /etc/haproxy/errors/503.http
tệp lỗi 504 /etc/haproxy/errors/504.http
giao diện người dùng http_front
ràng buộc *:80
thống kê uri /haproxy?stats
default_backend http_back
phụ trợ http_back
cân đối nguồn
cookie SERVERUSED chèn nocache gián tiếp
chế độ http
http-request set-header X-Client-IP %[src]
tùy chọn httpchk ĐẦU/HTTP/1.0
máy chủ sản xuất-app1.example.com sản xuất-app1.example.com:80 kiểm tra mùa thu 2 tăng 2
máy chủ sản xuất-app2.example.com sản xuất-app2.example.com:80 kiểm tra mùa thu 2 tăng 2
Đây là nginx conf trên 1 ứng dụng (không hoạt động)
chủ nhà:
ứng dụng ngược dòng {
# Đường dẫn đến tệp Puma SOCK, như đã xác định trước đó
máy chủ unix:/var/www/production/app/shared/tmp/sockets/puma.sock fail_timeout=0;
}
người phục vụ {
server_name sản xuất-app1.example.com;
gốc/var/www/sản xuất/ứng dụng/chia sẻ/công cộng;
try_files $uri/index.html $uri @app;
vị trí @app {
proxy_pass http://app_production;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Máy chủ $http_host;
proxy_redirect tắt;
}
# ghi nhật ký
#
access_log /var/www/log/product/app/access.log;
error_log /var/www/log/product/app/error.log;
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
#keepalive_timeout 10;
nghe 80;
}
và cấu hình nginx toàn cầu
# cấu hình máy chủ sản xuất nginx
người dùng triển khai;
công_nhân 2; # hiệu suất tốt hơn với các đỉnh IO
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log cảnh báo;
pid /var/run/nginx.pid;
sự kiện
{
công_nhân 4096 ;
}
http
{
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
## điều chỉnh HTTP2
http2_max_concurrent_pushes 512;
http2_max_concurrent_streams 512;
http2_chunk_size 16k;
http2_body_preread_size 256k;
kết_nối_hồ_đơ 5600;
# keepalive cần điều này
proxy_http_version 1.1;
proxy_set_header Kết nối "";
gửi tệp trên;
bật tcp_nopus;
bật tcp_nodelay;
keepalive_timeout 360;
keepalive_requests 10000;
loại_hash_max_size 2048;
server_names_hash_bucket_size 128;
big_client_header_buffers 8 5600;
# thời gian chờ proxy
proxy_connect_timeout 120 giây;
proxy_send_timeout 300 giây;
proxy_read_timeout 300 giây;
gửi_thời gian chờ 440 giây;
# đệm và bộ nhớ đệm
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;
proxy_buffer_size 512k;
proxy_busy_buffers_size 512k;
proxy_cache_valid 200 302 10 phút;
proxy_cache_valid 404 1m;
# Cài đặt SSL (sẽ được thêm vào)
log_format chính '$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 bộ đệm chính=2048k flush=120;
bao gồm /etc/nginx/conf.d/*.conf;
bao gồm /etc/nginx/sites-enabled/*;
}
Cái thứ hai có cùng cấu hình, nhưng nó hoạt động rất tốt.
Cảm ơn vì sự giúp đỡ.