Nếu bạn là một người đam mê công nghệ và đang xây dựng một home lab với nhiều ứng dụng tự host, việc ghi nhớ tất cả các URL để truy cập từng dịch vụ quản lý có thể nhanh chóng trở thành một cơn ác mộng. Hơn nữa, nếu có bất kỳ thay đổi nào trong cấu hình mạng gia đình, bạn sẽ phải mất công điều chỉnh mọi thứ thủ công. Thay vào đó, một giải pháp hiệu quả là thiết lập một Reverse Proxy để điều hướng lưu lượng truy cập đến các ứng dụng tự host, giúp tất cả các dịch vụ này có thể truy cập được từ cùng một URL bên ngoài duy nhất.
Về cơ bản, reverse proxy là một máy chủ khác trong mạng gia đình của bạn, nằm giữa internet rộng lớn và các ứng dụng tự host cùng các máy chủ khác. Điều này tạo thêm một lớp bảo mật đáng kể, vì các yêu cầu từ máy khách bên ngoài chỉ biết đến máy chủ mà reverse proxy được cài đặt. Nó cũng giúp việc quản trị trở nên dễ dàng hơn: một khi bạn đã thiết lập các quy tắc mạng nội bộ, nơi duy nhất bạn cần thay đổi chúng là trên máy chủ DNS tùy chỉnh của mình. Mặc dù nhiều người có thể nghĩ rằng thiết lập reverse proxy là một công việc phức tạp, nhưng các dịch vụ hiện đại đã đơn giản hóa phần lớn quy trình này. Bài viết này sẽ hướng dẫn bạn cách thiết lập reverse proxy trên Synology NAS, đồng thời giải thích tổng quan về cách thức hoạt động nếu bạn muốn áp dụng cho các máy chủ reverse proxy khác.
Reverse Proxy là gì và tại sao bạn cần nó cho Home Lab?
Reverse Proxy (máy chủ proxy ngược) đóng vai trò như một cổng trung gian giữa người dùng Internet và các máy chủ nội bộ. Khi một người dùng gửi yêu cầu đến website hoặc ứng dụng của bạn, yêu cầu đó sẽ đi qua reverse proxy trước. Sau đó, reverse proxy sẽ chuyển tiếp yêu cầu đó đến máy chủ nội bộ phù hợp, nhận phản hồi và gửi lại cho người dùng.
Đối với người dùng home lab và các ứng dụng tự host, reverse proxy mang lại nhiều lợi ích thiết thực:
- Đơn giản hóa truy cập: Thay vì phải nhớ nhiều địa chỉ IP và số cổng khác nhau cho mỗi ứng dụng (ví dụ:
192.168.1.10:8080
,192.168.1.10:8123
), bạn có thể truy cập tất cả các ứng dụng thông qua các subdomain thân thiện trên một tên miền duy nhất (ví dụ:homeassistant.tenmiencuaban.com
,vaultwarden.tenmiencuaban.com
). - Tăng cường bảo mật: Reverse proxy hoạt động như một lớp lá chắn, che giấu địa chỉ IP nội bộ của các máy chủ ứng dụng. Các yêu cầu từ bên ngoài chỉ tương tác với reverse proxy, không trực tiếp với các ứng dụng, giảm thiểu rủi ro tấn công. Bạn chỉ cần mở một cổng (thường là 443 cho HTTPS) trên router, thay vì nhiều cổng khác nhau.
- Quản lý chứng chỉ SSL tập trung: Chỉ cần cấu hình chứng chỉ SSL (như Let’s Encrypt) trên reverse proxy, tất cả các ứng dụng phía sau nó đều có thể sử dụng HTTPS, đảm bảo truyền tải dữ liệu an toàn mà không cần cấu hình SSL riêng cho từng ứng dụng.
- Cân bằng tải (Load Balancing): Với các thiết lập phức tạp hơn, reverse proxy có thể phân phối các yêu cầu đến nhiều máy chủ backend, cải thiện hiệu suất và độ tin cậy.
Tủ mạng chuyên nghiệp với các thiết bị switch và máy chủ
Những yếu tố cần chuẩn bị trước khi thiết lập Reverse Proxy
Để bắt đầu thiết lập reverse proxy trên Synology NAS cho các ứng dụng tự host, bạn sẽ cần chuẩn bị một vài yếu tố sau. Mặc dù chúng ta sẽ sử dụng Synology NAS làm ví dụ cụ thể, nhưng các nguyên tắc cơ bản này áp dụng tương tự cho các máy chủ reverse proxy khác.
- Danh sách các ứng dụng tự host: Liệt kê các dịch vụ bạn muốn đặt sau reverse proxy, cùng với địa chỉ IP nội bộ và số cổng mà chúng đang chạy (ví dụ: Home Assistant chạy ở
192.168.1.50:8123
). - Synology NAS: Đảm bảo NAS của bạn đang chạy phiên bản DSM (DiskStation Manager) mới nhất.
- Chứng chỉ SSL (Secure Sockets Layer): Đây là yếu tố quan trọng để đảm bảo kết nối an toàn (HTTPS). Bạn có thể lấy chứng chỉ miễn phí từ Let’s Encrypt trực tiếp trong DSM của Synology.
- Tên miền riêng (ví dụ:
tenmiencuaban.com
): Để có thể tạo các subdomain cho mỗi ứng dụng web mà bạn muốn sử dụng với reverse proxy (ví dụ:webapp1.tenmiencuaban.com
,webapp2.tenmiencuaban.com
). Nếu không có tên miền riêng, bạn có thể sử dụng dịch vụ Dynamic DNS (DDNS) miễn phí của Synology (ví dụ:mydomain.synology.me
). - Chuyển tiếp cổng (Port Forwarding): Cổng 443 (cho HTTPS) cần được chuyển tiếp từ router của bạn đến địa chỉ IP nội bộ của Synology NAS.
- Địa chỉ IP và số cổng của từng ứng dụng tự host: Đảm bảo bạn biết chính xác các thông tin này để cấu hình đúng điểm đến cho reverse proxy.
Giao diện Bitwarden đang chạy trên Synology NAS, minh họa ứng dụng tự host
Hướng dẫn từng bước thiết lập Reverse Proxy trên Synology NAS
Trong phần này, chúng ta sẽ đi sâu vào các bước cụ thể để thiết lập reverse proxy trên Synology NAS. Giả sử bạn đang muốn truy cập Home Assistant (đang chạy trên Synology NAS) thông qua một subdomain an toàn.
Hiện tại, tôi chỉ có dịch vụ Home Assistant đang chạy trên Synology NAS. Tôi thường kết nối với Home Assistant bằng cách sử dụng địa chỉ IP và cổng cục bộ của nó, nhưng điều này gây nhiều phiền toái. Thứ nhất, địa chỉ IP của Synology có thể thay đổi tùy thuộc vào cách tôi thiết lập home lab, và tôi không muốn phải ghi nhớ một loạt địa chỉ IP và số cổng. Tôi cũng không thích ý tưởng để lộ quá nhiều cổng ra Internet.
Vì vậy, chúng ta sẽ bắt đầu bằng cách thiết lập DDNS để có một tên miền trỏ đến NAS và chứng chỉ SSL wildcard để có thể sử dụng các subdomain. Chứng chỉ SSL wildcard rất quan trọng vì nó sẽ bao phủ bất kỳ subdomain nào chúng ta sử dụng. Các ứng dụng web của chúng ta sẽ được thiết lập dưới dạng tenwebapp1.tenmiencuaban.com
, tenwebapp2.tenmiencuaban.com
, v.v.
Giao diện cài đặt Reverse Proxy trong Synology DSM 7, hiển thị các ứng dụng đã cấu hình
Bước 1: Cấu hình DDNS và Chứng chỉ SSL Wildcard
- Đăng nhập vào Synology NAS của bạn.
- Mở Control Panel, điều hướng đến External Access > DDNS, và chọn Add.
- Điền thông tin vào biểu mẫu như sau:
- Service Provider: Chọn Synology.
- Hostname: Nhập tên host bạn mong muốn (ví dụ:
tenmiencuaban.synology.me
). - Kiểm tra kết nối bằng cách nhấp vào Test Connection. Nếu thất bại, tên host có thể đã được sử dụng và bạn cần thử một tên khác.
- Trước khi tiếp tục, hãy đánh dấu vào ô Get a certificate from Let’s Encrypt and set it as default.
- Nhấp vào OK.
Danh sách cấu hình DDNS trong Synology DSM 7, hiển thị trạng thái kết nối
Form điền thông tin để thêm DDNS mới trên Synology DSM 7
- Điều hướng đến Security > Certificate và chọn Add.
Menu chứng chỉ SSL trong Control Panel của Synology DSM
- Chọn Replace an existing certificate và chọn chứng chỉ bạn vừa tạo, sau đó nhấp vào Next.
- Chọn Get a certificate from Let’s Encrypt và đánh dấu vào ô Set as default certificate.
- Chọn Next.
- Điền thông tin:
- Domain name: Nhập tên miền chính của bạn (ví dụ:
tenmiencuaban.synology.me
). - Email: Nhập địa chỉ email của bạn.
- Subject Alternative Name (SAN): Quan trọng nhất, hãy thêm wildcard vào ô này: *`.tenmiencuaban.synology.me`**.
- Domain name: Nhập tên miền chính của bạn (ví dụ:
- Chứng chỉ SSL wildcard cho phép chúng ta sử dụng các subdomain từ cùng một chứng chỉ mà không cần tạo chứng chỉ mới. Điều này rất quan trọng. Nhấp Next khi bạn hoàn thành để lưu chứng chỉ SSL.
Hướng dẫn điền thông tin cho chứng chỉ SSL Wildcard trên Synology NAS
Bước 2: Tạo quy tắc Reverse Proxy cho ứng dụng
Bây giờ là lúc thiết lập reverse proxy cho ứng dụng tự host đầu tiên của bạn. Nếu bạn có nhiều ứng dụng, hãy lặp lại quy trình này, thay đổi subdomain mỗi lần để nó đại diện cho ứng dụng web mà bạn muốn trỏ tới.
-
Chúng ta vẫn đang làm việc trong Control Panel trên Synology NAS.
-
Đi đến Login Portal > Advanced.
-
Nhấp vào Reverse Proxy.
-
Nhấp vào Create.
-
Cấu hình các trường sau:
- Proxy name: Đặt tên cho quy tắc proxy của bạn (ví dụ:
HomeAssistant_Proxy
). - Source Protocol: Thay đổi thành HTTPS.
- Source Hostname: Nhập hostname subdomain của bạn (ví dụ:
hass.tenmiencuaban.synology.me
). - Source Port: Đặt là 443.
- Enable HSTS: (Tùy chọn) Kích hoạt nếu bạn muốn tăng cường bảo mật.
- Destination Hostname: Nhập địa chỉ IP nội bộ của ứng dụng web của bạn (ví dụ:
localhost
nếu Home Assistant chạy trên cùng NAS, hoặc192.168.1.50
nếu trên một máy khác). - Destination Port: Nhập số cổng mà ứng dụng web của bạn đang sử dụng (ví dụ:
8123
cho Home Assistant).
Giao diện thiết lập quy tắc Reverse Proxy cho ứng dụng trên Synology NAS
- Proxy name: Đặt tên cho quy tắc proxy của bạn (ví dụ:
-
Chọn tab Custom Header.
-
Nhấp vào Create.
-
Chọn WebSocket (Điều này thường cần thiết cho các ứng dụng như Home Assistant để đảm bảo kết nối ổn định).
-
Nhấp vào Save.
-
Nhấp vào Close.
Bước 3: Tối ưu hóa cài đặt mạng và bảo mật
- Đi đến Network > Connectivity và Enable HTTP/2, sau đó nhấp Apply.
- Tiếp theo, đi đến Security > Advanced, kích hoạt HTTP Compression, và nhấp Apply.
- Cuối cùng, đi đến Security > Certificate, nhấp vào Settings, và chọn chứng chỉ SSL của bạn từ menu thả xuống bên cạnh mục
hass.tenmiencuaban.synology.me
(hoặc tên subdomain tương ứng của bạn).
Cài đặt chứng chỉ SSL cho quy tắc Reverse Proxy trong Synology DSM
Bây giờ, reverse proxy của bạn đã được thiết lập để truy cập Home Assistant từ cả bên trong và bên ngoài mạng gia đình bằng cách sử dụng hass.tenmiencuaban.synology.me
.
Kết luận: Reverse Proxy giúp tổ chức các dịch vụ tự host dễ dàng hơn
Việc thiết lập reverse proxy giúp bạn truy cập các ứng dụng tự host như Vaultwarden hoặc Home Assistant để điều khiển nhà thông minh một cách dễ dàng và thuận tiện hơn rất nhiều. Nó cũng làm cho mạng gia đình của bạn an toàn hơn tổng thể, vì bạn chỉ để lộ một cổng duy nhất ra Internet cho tất cả các ứng dụng tự host của mình. Tuy nhiên, điều này không có nghĩa là bạn có thể lơ là bảo mật. Bạn vẫn cần cẩn thận để đảm bảo rằng mình đã liên kết các chứng chỉ SSL đúng cách và thường xuyên kiểm tra các cấu hình an ninh. Hãy bắt đầu nâng cấp home lab của bạn ngay hôm nay để tận hưởng sự tiện lợi và an toàn mà reverse proxy mang lại!
Hãy chia sẻ kinh nghiệm hoặc ý kiến của bạn về việc sử dụng reverse proxy trong phần bình luận bên dưới!