Điểm:0

Tại sao máy chủ Nginx không thể truy cập được mặc dù các cổng đang mở?

lá cờ jp

Tôi đang ở trong một tình huống rất bất thường và tôi đã dành gần 8 giờ để cố gắng tìm ra vấn đề là gì.

thiết lập

Tôi có một máy chủ chạy Debian 11. Bên trong máy chủ này, tôi đã thiết lập một máy ảo CentOS với KVM. Máy ảo lưu trữ một ứng dụng web phức tạp phía sau máy chủ Apache. Giao diện mạng của KVM là NAT và do đó để truy cập ứng dụng web, tôi đã thiết lập quy tắc chuyển tiếp cổng bằng cách sử dụng libvirt móc như được mô tả ở đây:

https://wiki.libvirt.org/page/Networking#Forwarding_Incoming_Connections

Thiết lập của tôi chuyển tiếp mọi kết nối đến cổng 443 tới máy chủ Apache trên Máy ảo và điều này đang hoạt động tốt.

Tôi cũng đã thiết lập một máy chủ Nginx trên máy chủ vì tôi định sử dụng nó làm proxy ngược. Tôi sẽ lưu trữ một ứng dụng khác trên máy chủ lưu trữ trên cổng 9000. Sử dụng Nginx cho proxy ngược, tôi dự định chuyển hướng tất cả các yêu cầu tới https://example.com đến Máy ảo và tất cả các yêu cầu đến https://example.com/app/ đến ứng dụng web đang chạy trên cổng 9000.

Vấn đề

Tôi đã cài đặt máy chủ Nginx sau khi thiết lập Máy ảo và các quy tắc chuyển tiếp Cổng tương ứng của nó. Nhưng khi tôi cố chạy trang bắt đầu của máy chủ Nginx, nó không thể truy cập được. Tôi hiểu rằng cổng 443 được chuyển tiếp tới máy ảo. Vì vậy, tôi cố gắng tải với http://example.com hy vọng nó sẽ tải trang bắt đầu Nginx trên cổng 80. Nhưng nó vẫn báo rằng trang web không thể truy cập được.

Những gì tôi đã cố gắng cho đến nay?

Tôi nghi ngờ rằng các quy tắc chuyển tiếp cổng từ máy chủ sang máy khách có thể là nguyên nhân cốt lõi ở đây. Vì vậy, tôi đã thay đổi quy tắc chuyển tiếp cổng từ cổng 443 thành 8000. Vì vậy, mọi yêu cầu tới cổng 8000 sẽ được chuyển tiếp tới máy chủ Apache trên máy ảo. Nhưng sau khi làm điều này, cổng 443 cũng không thể truy cập được.

Tôi đã cố xóa hoàn toàn iptables như được mô tả ở đây:

Xóa và đặt lại iptables trong Debian

Tuy nhiên, máy chủ Nginx vẫn không thể truy cập được.

Ngoài ra, rất lạ, sau khi xóa iptables, khi tôi cố gắng truy cập ứng dụng chạy trên cổng 9000 bằng http://example.com:9000 tôi nhận được một 400 Lỗi yêu cầu không hợp lệ và khi tôi thay đổi giao thức thành https, trang sẽ không thể truy cập được.

Bất kỳ lời khuyên sẽ rất hữu ích. Cảm ơn bạn.

djdomi avatar
lá cờ za
Các câu hỏi tìm kiếm trợ giúp về cài đặt, cấu hình hoặc chẩn đoán phải bao gồm trạng thái kết thúc mong muốn, sự cố hoặc lỗi cụ thể, thông tin đầy đủ về cấu hình và môi trường để tái tạo nó cũng như các giải pháp đã thử. Các câu hỏi không có tuyên bố vấn đề rõ ràng sẽ không hữu ích cho những người đọc khác và không có khả năng nhận được câu trả lời hay.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.