Đây là tình huống tôi đã gặp:
- Máy chủ được quản lý bởi laravel forge
- Nó đang phục vụ đằng sau proxy ngược cloudflare
- Nginx đang hoạt động, lắng nghe trên cả cổng 80 và 443 (đã xác nhận)
bây giờ tôi cần định cấu hình bộ cân bằng tải tùy chỉnh cho máy chủ này và có một điều rất kỳ lạ xảy ra khi tôi cố gắng Xoăn
url từ bên ngoài, yêu cầu thành công, nhật ký truy cập được thêm vào nhật ký nginx, nhưng khi tôi cố truy cập nó từ máy cân bằng tải thông qua cuộn tròn --resolve
, kết nối đã đóng trước khi bất kỳ điều gì xảy ra (không có tiêu đề, không có trạng thái, về cơ bản là không có phản hồi nào cả).
Đầu tiên, tôi nghĩ đó là sự cố cấu hình tường lửa, vì vậy tôi ssh
vào máy chủ ứng dụng và thử cuộn tròn --resolve xxxx:80:127.0.0.1
đó là truy cập nó thông qua kết nối loopback, nhưng điều tương tự cũng xảy ra.
Sau đó, tôi đã cố gắng thực hiện lại điều tương tự với https, nhưng kết nối đã bị đóng khi khách hàng cố gắng bắt đầu quá trình bắt tay TLS.
Toàn bộ sự việc có vẻ giống như vòng lặp ngược bị chặn, điều này nghe có vẻ không khả thi đối với tôi, vậy có ai biết bất kỳ manh mối nào về cách sự cố này xảy ra không?
p/s: Tôi đã kiểm tra về tường lửa, ufw được bật nhưng tôi nhận được kết quả tương tự sau khi tắt ufw
Trong hình này, tôi sẽ nhận được 404 thay vì không có kết quả nào cả
forge@dev-server1:~$ curl -v localhost
* Đang thử 127.0.0.1:80...
* Bộ TCP_NODELAY
* Đã kết nối với localhost (127.0.0.1) cổng 80 (#0)
> NHẬN / HTTP/1.1
> Máy chủ: máy chủ cục bộ
> Tác nhân người dùng: curl/7.68.0
> Chấp nhận: */*
>
* Máy chủ không phản hồi
* Kết nối #0 đến host localhost còn nguyên
curl: (52) Trả lời trống từ máy chủ
giả mạo@dev-server1:~$
Cập nhật
Được đề xuất bởi nhận xét, tôi chạy nginx -T
và sau đó đây là đầu ra
p/s: đây là bài kiểm tra cho https tôi đã đề cập trước đây
forge@dev-server1:~$ curl --resolve member.domain.hide:443:127.0.0.1 https://member.domain.hide -v
* Đã thêm thành viên.domain.hide:443:127.0.0.1 vào bộ đệm DNS
* Đã tìm thấy tên máy chủ member.domain.hide trong bộ đệm DNS
* Đang thử 127.0.0.1:443...
* Bộ TCP_NODELAY
* Đã kết nối với cổng member.domain.hide (127.0.0.1) 443 (#0)
* ALPN, cung cấp h2
* ALPN, cung cấp http/1.1
* đặt thành công vị trí xác minh chứng chỉ:
* Tệp CA: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), bắt tay TLS, Client hello (1):
* OpenSSL SSL_connect: Thiết lập lại kết nối ngang hàng khi kết nối với member.domain.hide:443
* Đóng kết nối 0
curl: (35) OpenSSL SSL_connect: Thiết lập lại kết nối bởi máy ngang hàng trong kết nối với member.domain.hide:443
giả mạo@dev-server1:~$