Điểm:0

Nginx Chuyển tiếp tất cả lưu lượng truy cập trên tất cả các cổng ngoại trừ cổng 80

lá cờ ru

Tôi có một tên miền, giả sử ví dụ.com đã đăng ký tại Dynadot. Tôi đang có nó, cùng với tên miền phụ www.example.comđám mây.example.com trỏ đến địa chỉ IP của tôi qua bản ghi A. Tôi đã thiết lập một số máy chủ có thể truy cập bằng tên miền này. Ví dụ: máy chủ FTP của tôi có thể được truy cập bằng cách sử dụng ví dụ.com:21. Tôi có một máy chủ Node.js chạy trên cổng 80 và một đám mây tiếp theo máy chủ chạy trên cổng 85. Điều cuối cùng tôi đã thiết lập là một máy chủ Nginx, lắng nghe trên cổng 80. Đây là cấu hình Nginx của tôi:

người phục vụ {
    nghe 80;
    server_name cloud.example.com;

    địa điểm / {
        proxy_pass http://example.com:85;
    }
}

người phục vụ {
    nghe 80;
    server_name www.example.com;

    địa điểm / {
        proxy_pass http://192.168.1.31;
    }
}

người phục vụ {
    nghe 80;
    server_name example.com;

    địa điểm / {
        proxy_pass http://192.168.1.31;
    }
}

Những gì cấu hình này làm là:

  • Nếu người dùng đi đến ví dụ.com hoặc www.example.com, nó chuyển hướng chúng đến máy chủ Node.js của tôi.

  • Nếu người dùng đi đến đám mây.example.com, nó chuyển hướng chúng đến máy chủ Nextcloud của tôi, máy chủ này cũng có thể truy cập được từ ví dụ.com:85.

  • Nếu người dùng muốn kết nối với một máy chủ khác đang chạy trên một cổng khác, họ có thể sử dụng example.com:<cổng>

Điều này hoạt động rất tốt, nhưng vấn đề duy nhất của tôi là ISP của tôi chặn lưu lượng truy cập đến cho cổng 80!

Tôi đã cố gắng tìm giải pháp trong nhiều giờ và lựa chọn duy nhất của tôi là sử dụng GoDaddy. Tôi có thể lưu trữ máy chủ Nginx của mình trên GoDaddy, điều này chỉ ra ví dụ.comwww.example.com đến máy chủ Node.js của tôi và các điểm đám mây.example.com đến máy chủ Nextcloud của tôi. Điều này sẽ làm việc, nhưng nó có nghĩa là ví dụ.comCài đặt DNS của cần phải được thay đổi thành bản ghi A trỏ đến máy chủ GoDaddy. Tất cả điều này sẽ hoạt động tốt, nhưng điều đó có nghĩa là tôi không còn có thể truy cập vào bất kỳ máy chủ nào khác của mình, chẳng hạn như máy chủ FTP của tôi vì ví dụ.com:21 sẽ không còn trỏ đến <IP của tôi>:21, nhưng <IP máy chủ GoDaddy>:21.

Tôi đã nghĩ, để giải quyết vấn đề này, tôi có thể định cấu hình máy chủ Nginx của mình để nó thực hiện những gì nó đã làm trước đây, nhưng nếu người dùng truy cập ví dụ.com với BẤT KỲ cổng nào ngoài cổng 80, nó sẽ chuyển tiếp kết nối tới <my IP>:<port>. Bằng cách đó, tất cả các máy chủ khác của tôi, chẳng hạn như máy chủ FTP của tôi sẽ vẫn có thể truy cập được thông qua ví dụ.com:21, nhưng cổng 80 sẽ không bị chặn vì máy chủ Nginx sử dụng cổng 80 đang được lưu trữ trên GoDaddy.

Tuy nhiên, tôi không biết liệu điều này có khả thi với Nginx hay không.Nếu có thì cấu hình sẽ như thế nào? Nếu không, tôi có những lựa chọn nào khác? (Khác với việc mua kế hoạch kinh doanh của ISP của tôi để bỏ chặn cổng 80)

djdomi avatar
lá cờ za
ngoài chủ đề: Các câu hỏi về Lỗi máy chủ phải là về quản lý hệ thống công nghệ thông tin trong môi trường kinh doanh. Các câu hỏi về máy tính tại nhà và người dùng cuối có thể được hỏi trên Super User,
lá cờ us
Bạn không nên sử dụng FTP, đó là một rủi ro bảo mật.
Denes Garda avatar
lá cờ ru
@TeroKilkanen Tại sao lại đề cập đến điều đó? Trong câu hỏi của tôi, máy chủ FTP chỉ là một ví dụ. Bình luận ngoài chủ đề.
lá cờ us
Cung cấp lời khuyên bảo mật vững chắc luôn là chủ đề.

Đă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.