0

series Railway Bài 4: Quản Lý Biến Môi Trường & Cấu Hình Tên Miền Thực Tế

Ở bài trước, bạn đã thấy sức mạnh của việc kết nối tự động giữa Backend và Database thông qua một biến tên là DATABASE_URL.

Hôm nay, chúng ta sẽ đi sâu hơn vào khái niệm "Biến môi trường" – một kỹ năng bắt buộc phải có đối với bất kỳ lập trình viên Backend nào, và sau đó khoác cho ứng dụng của bạn một lớp áo chuyên nghiệp hơn bằng Tên miền tùy chỉnh (Custom Domain).

1. Biến môi trường (Environment Variables) là gì và tại sao lại quan trọng?

Khi xây dựng các hệ thống Backend phức tạp (như sử dụng Node.js, PHP, hay tích hợp thêm Redis, Message Brokers...), ứng dụng của bạn sẽ cần rất nhiều "chìa khóa bí mật" để hoạt động. Đó có thể là mật khẩu Database, chuỗi khóa JWT_SECRET để xác thực người dùng, hoặc API Key của các dịch vụ bên thứ ba.

Quy tắc tối kỵ: Tuyệt đối không bao giờ viết cứng (hardcode) các thông tin nhạy cảm này trực tiếp vào file code (ví dụ: file index.js hay config.php) rồi đẩy lên GitHub. Nếu mã nguồn bị lộ, hệ thống của bạn sẽ bị tấn công ngay lập tức.

Giải pháp chính là Biến môi trường. Mã nguồn của bạn chỉ chứa các "biến rỗng" (như process.env.JWT_SECRET), và máy chủ (Railway) sẽ là người bơm giá trị thực tế vào các biến đó lúc ứng dụng khởi động.

2. Cách quản lý Variables trên Railway

Railway làm cho việc quản lý các biến này trở nên cực kỳ trực quan:

  1. Trong Project của bạn, click vào Service Backend (Node.js/PHP).
  2. Chuyển sang tab Variables.
  3. Nhấn + New Variable và nhập theo cặp TÊN_BIẾN (Key) và Giá trị (Value).
  • Ví dụ:
  • Key: JWT_SECRET
  • Value: chuoi-mat-khau-cuc-ky-phuc-tap-cua-hieu
  1. Nhấn Add. Ngay lập tức, Railway sẽ tự động build và restart lại ứng dụng của bạn để áp dụng cấu hình mới.

Mẹo nâng cao: Railway có tính năng Shared Variables (Biến dùng chung). Nút Shared Workspace Variables ở khung bên trái cho phép bạn tạo ra một biến và chia sẻ nó cho nhiều Service khác nhau trong cùng một Project, giúp bạn không phải nhập đi nhập lại.

3. Cấu hình Tên miền riêng (Custom Domain)

Ở Bài 2, Railway đã cấp cho bạn một tên miền miễn phí có đuôi .up.railway.app. Nhưng để triển khai dự án thực tế, bạn sẽ muốn dùng tên miền của riêng mình (ví dụ: api.hieu-project.com).

Bước 1: Khai báo tên miền trên Railway

  1. Click vào Service Backend của bạn -> Tab Settings.
  2. Kéo xuống phần Networking -> Public Networking.
  3. Thay vì chọn "Generate Domain", bạn hãy nhập tên miền bạn đã mua vào ô Custom Domain (ví dụ: api.domaincuaban.com) và nhấn Enter.

Bước 2: Cấu hình DNS tại nhà cung cấp tên miền

Khi bạn nhập xong, Railway sẽ hiển thị một bảng nhỏ yêu cầu bạn tạo một bản ghi CNAME.

  1. Đăng nhập vào nơi bạn đã mua tên miền (như Cloudflare, Namecheap, Mắt Bão...).
  2. Vào phần quản lý DNS (DNS Management).
  3. Tạo một bản ghi mới với cấu hình mà Railway cung cấp:
  • Type (Loại): CNAME
  • Name (Tên/Host): api (nếu bạn dùng subdomain) hoặc @ (nếu dùng domain gốc).
  • Target/Value (Giá trị): Copy chuỗi mà Railway cung cấp (thường có dạng cname.railway.app).
  1. Lưu lại.

Bước 3: Chờ đợi phép màu SSL

Sau khi cấu hình DNS xong, hãy quay lại Railway. Quá trình xác nhận có thể mất từ vài phút đến vài giờ tùy thuộc vào mạng lưới DNS toàn cầu.

Điều tuyệt vời nhất ở Railway là bạn không cần phải tự cài đặt chứng chỉ bảo mật SSL/HTTPS. Ngay khi DNS được xác nhận, Railway sẽ tự động cấp phát chứng chỉ SSL miễn phí (thông qua Let's Encrypt), và tên miền của bạn sẽ có biểu tượng ổ khóa an toàn xanh lá cây trên trình duyệt!


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í