Cách thiết lập chuyển tiếp cổng trên Amazon EC2


16

Tôi có một ứng dụng web đang chạy trên Amazon EC2. Nó nghe trên cổng 9898.

Tôi có thể truy cập nó bằng cách nhập địa chỉ IP và số cổng.

ví dụ: 1.2.3.4:9898

Tuy nhiên, điều tôi thực sự muốn có thể làm là không phải nhập số cổng.

Nghiên cứu điều này, có vẻ như chuyển tiếp cổng có thể là giải pháp - tức là các yêu cầu http chuyển tiếp nhận được trên cổng mặc định (80) đến cổng không chuẩn của tôi (9898).

Đây có phải là cách chính xác để đi? Nếu vậy, làm cách nào để thiết lập tính năng này trên EC2?

Nếu không, làm thế nào để tôi đạt được những gì tôi muốn?

Cảm ơn trước sự giúp đỡ nào.

Cập nhật

Tôi nên đề cập đến ví dụ EC2 là Windows Server 2012 AMI.


Bạn cần phải có thứ gì đó trước máy chủ của mình như HAProxy để chuyển tiếp yêu cầu..hoặc sử dụng iptables. Amazon không hỗ trợ chuyển tiếp cổng.
Nathan C

Câu trả lời:


10

Cách dễ nhất để làm điều này mà không cần tự cài đặt một cái gì đó là đặt Bộ cân bằng tải đàn hồi của Amazon trước ví dụ. Điều này cho phép bạn chuyển tiếp cổng như bạn dự định.


Tôi đã thử đề xuất của bạn nhưng tôi không thể kiểm tra ping để hoạt động.
ksl

ceejayoz là ELB chính xác là cách để làm điều đó. Sử dụng kiểm tra TCP nếu HTTP không hoạt động. Xin lỗi không đủ danh tiếng để bình luận.
Pestouille

Xin chào, xin vui lòng bạn có thể giải thích.
ksl

Hãy thử cho phép ICMP trên Tường lửa Máy chủ Windows từ (các) địa chỉ ELB
Tom O'Connor

Tường lửa đã được cấu hình theo mặc định để cho phép tất cả lưu lượng ICMP V4.
ksl

6

Bạn có hai lựa chọn.

1) Thiết lập proxy ngược để chuyển tiếp các yêu cầu HTTP (giả sử đó là HTTP) sang một cổng khác.

Nó nên đơn giản như: Cài đặt apache, kích hoạt mô-đun proxy_http, đặt một cái gì đó như:

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
    Order allow,deny
    Allow from all
</Proxy>
ProxyPass / http://localhost:9898/
ProxyPassReverse / http://localhost:9898/

2) Thiết lập Bảng IP để chuyển tiếp các gói .


Tôi nên nói rằng phiên bản EC2 là Windows Server 2012 AMI. Tôi chưa thể hiểu Windows tương đương với Bảng IP là gì.
ksl


Cảm ơn vì sự trả lời. Tôi đã thử sử dụng Netsh như bạn đề xuất nhưng tôi không thể làm cho nó hoạt động được. Tôi đã chuyển tiếp các yêu cầu http trên cổng 80 đến cả địa chỉ IP công cộng và riêng tư trong phiên bản EC2 của tôi.
ksl

-3

bởi vì tôi thấy nhận xét về việc sử dụng iptables, tôi sẽ chia sẻ kinh nghiệm của tôi trong ec2 linux. Tôi đã tìm thấy một bài viết tuyệt vời về các cổng chuyển tiếp cho Node.js. Nếu bạn bỏ qua các hướng dẫn về chỉnh sửa sysctl.conf bạn sẽ thấy các hướng dẫn chuyển tiếp. Thủ tục Linux của tôi thay đổi từ Ubuntu một chút. Bài viết là: http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2

Công việc được thực hiện thông qua ssh. Gotcha duy nhất tôi gặp phải là tôi đã định tuyến trước hai lần, mà không xóa iptables giữa và ứng dụng web của tôi không hiển thị cho đến khi tôi xóa và tải lại. Tôi biết đó là một hình ảnh khủng khiếp để kết luận, xin lỗi.

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.