Có thể ping máy chủ ec2 (ubfox / apache) nhưng không nhận được phản hồi từ yêu cầu http


0

Lý lịch:

  • HĐH: Ubuntu
  • Máy chủ web: apache2

Những gì hoạt động:

  • Tôi có thể ping IP đàn hồi của máy chủ (và nhận được phản hồi)
  • Tôi có thể ssh vào máy chủ

Những gì không hoạt động:

  • Tôi không thể nhận được bất kỳ loại phản hồi http từ máy chủ

Hành vi dự kiến:

Hành vi thực tế:

Cơn thịnh nộ:

Rõ ràng máy chủ đang ở đó bởi vì tôi có thể ssh vào địa chỉ chính xác đó và tôi có thể ping chính xác IP đó và nhận được phản hồi. Nhưng khi tôi truy cập địa chỉ chính xác đó trong trình duyệt web của mình thì dường như nó không bao giờ đến được máy chủ. Hoặc có vẻ như Amazon không cho phép các yêu cầu http thông qua, nhưng trong nhóm bảo mật của tôi, tôi xác định rõ rằng các yêu cầu http từ tất cả các nguồn được cho phép thông qua. Apache chắc chắn đang chạy, root tài liệu của tôi chắc chắn được thiết lập đúng và lỗi và nhật ký truy cập của tôi không cho tôi bất cứ điều gì.

Có bất kỳ loại đăng nhập nào giữa Amazon và máy chủ không, hoặc giữa các yêu cầu gửi đến máy chủ và được nhận bởi Apache sẽ chỉ định lý do tại sao nó trả về "không tìm thấy" thay vì 404. Tôi có thể làm cho nhật ký Apache của mình dài dòng hơn không ?

Cảm ơn trước! Tôi đã dành hàng giờ cho việc này ....


Bạn đã kiểm tra DNS chưa? Bạn đã cố gắng sử dụng nslookup ec2-XX-XX...hoặc dighoặc bất kỳ công cụ phân giải tên? Bạn đã nhận được cùng một địa chỉ IP?
Khaled

nslookup ec2-XXX-XX-XXX-XXX.compute-1.amazonaws.com sẽ trả lại địa chỉ IP để có vẻ như nó đang hoạt động. Tôi cũng có thể làm nslookup sub.mydomain.com và nó trả về cùng một địa chỉ IP.
Andrew Rasmussen

Nếu bạn cố gắng telnet your_ip 80, bạn nhận được gì?
Khaled

Cổng 80 có mở trong quy tắc tường lửa của bạn không?
B14D3

Vì vậy, nếu tôi thực hiện telnet XXX-XX-XXX-XXX 80, nó báo "telnet: Không thể kết nối với máy chủ từ xa: Kết nối bị từ chối". Tuy nhiên, nhóm bảo mật của tôi trong cài đặt ec2 của Amazon nói rõ ràng cho phép lưu lượng truy cập trên 80. Có thể đáng nói rằng tôi đang thử điều này từ cygwin, nhưng tôi đoán nó cũng giống như vậy. Ngoài ra, khi tôi chạy "netstat -net" trên máy chủ (ssh'd in), tôi nhận được dòng sau: "tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN"
Andrew Rasmussen

Câu trả lời:


2

Nếu bạn nhận được kết nối bị từ chối từ telnetđầu ra, điều này có nghĩa là bạn đang kết nối với một cổng đóng trên máy chủ của mình.

Bạn có một dòng trong netstat -lnpđó đọc:

tcp    0      0 0.0.0.0:80         0.0.0.0:*         LISTEN      1662/apache2    

Nếu apache của bạn đang nghe trên cổng khác, bạn cần chỉ định cổng đó trong URL như: http://ec2-XXX...com:8080/nếu cổng là 8080.


Các tập tin apache của tôi được đặt thành Nghe 8080 thay vì Nghe 80 ...
Andrew Rasmussen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.