+2

Hướng dẫn cấu hình PC thành public server

Chào mọi người, Mình đã từng gặp trường hợp phía FE không thể access vào server công ty (vì authen, policy ,.. nên bị chặn request), giờ làm cách nào để bên FE có thể gọi API phía BE để test nhỉ ? Tất nhiên là ta phải tạo 1 cái server rồi và tìm cách để thiết bị bên FE có thể gọi được server bên phía BE. Bài viết này mình sẽ hướng dẫn 2 cách host server, server nội bộ nếu dùng chung mạng (làm ở trên văn phòng) hoặc server public (làm remote nên không cùng chung mạng được)

Server local

Với server nội bộ thì cách config khá đơn giản, bao gồm 2 bước:

  1. Start server Như mình hay làm việc với rails thì khi không set gì thì default nó sẽ start với port 3000, tuy nhiên các bạn lưu ý là phải binding với address 0.0.0.0 thay vì 127.0.0.1. Lý do là vì địa chỉ 127.0.0.1 không thể truy cập từ bên ngoài. Vd: Trong rails ta sẽ dùng lệnhrails s -b 0.0.0.0 thay vì rails s như bình thường image.png
  2. Bỏ chặn firewall port để cho phép truy cập từ bên ngoài
  • Với ubuntu ta chỉ đơn giản là gõ lệnh sudo ufw allow <port>
  • Với window thì sẽ rườm rà hơn một chút bạn sẽ phải vào Window Firewall để set rule mở port image.png

Hoàn thành 2 bước trên thì ta chỉ cần tìm IP Private của máy trong mạng nội bộ là đã có thể truy cập vào server rồi image.png

Server public

Tương tự với việc host 1 server nội bộ, ta cũng thực hiện 2 bước ở trên, sau đó thực việc port forwarding tới port đang chạy server. Mục đích là để forward request

  1. Tìm default gateway cũng là địa chỉ IP của router. Ở đây mình dùng lệnh ipconfig /all image.png
  2. Truy cập vào router thông qua địa chỉ vừa tìm được và login (hầu hết username và password mặc định để đăng nhập đều được dán ở phía mặt sau router) image.png
  3. Tìm đến chức năng port forwarding và config. Tuỳ theo router mà cách config sẽ có đôi chỗ khác nhau nhưng các bạn chỉ cần để ý các giá trị là địa chỉ IP private (địa chỉ IP của máy host server), port cần forward và giao thức sử dụng image.png
  4. Tìm địa chỉ IP public image.png Tới đây thì bạn đã có thể truy cập server bằng public IP rồi. image.png Kiểm tra bằng website canyouseeme.org image.png

Lưu ý:

Bạn có thể phải cần setting cho router cấp phát IP private tĩnh cho máy host server để tránh trường hợp phải setting lại khi host server được cấp một địa chỉ IP tự động bằng DHCP. Như hình minh hoạ dưới đây image.png Và bạn cũng không nên dùng cách ở hình dưới để setting IP private tĩnh vì đôi khi sẽ xảy ra conflict khi router đã cấp địa chỉ IP mình mong muốn cho một thiết bị khác image.png

Kết

Đây là phương pháp mà mình tự mày mò và nghiên cứu ra, có đôi chỗ giải thích có lẽ không chính xác hoặc khó hiểu mong mọi người đóng góp ý kiến. Chúc các bạn áp dụng thành công!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí