Nếu bạn đã đi sâu vào hành trình tự xây dựng “phòng lab tại nhà” (home lab) với nhiều ứng dụng được tự host (self-hosted apps), chắc chắn bạn sẽ nhận ra rằng việc ghi nhớ tất cả các địa chỉ URL để truy cập từng dịch vụ quản lý 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 thay đổi mọi thứ một cách thủ công. Thay vào đó, bạn hoàn toàn có thể 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 của mình, giúp tất cả chúng có thể truy cập được từ cùng một địa chỉ URL bên ngoài. Giải pháp này không chỉ tối ưu việc quản lý mà còn tăng cường đáng kể tính bảo mật cho hệ thống mạng của bạn, đặc biệt khi triển khai trên Synology NAS – một thiết bị lưu trữ mạng phổ biến được cộng đồng người dùng Việt Nam ưa chuộng.
I. Reverse Proxy Là Gì Và Tại Sao Bạn Cần Nó Cho Mạng Gia Đình?
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, máy chủ tự host của bạn. Điều này biến nó thành một lớp bảo mật bổ sung, vì các yêu cầu từ máy khách (client) chỉ biết đến máy chủ mà Reverse Proxy được cài đặt. Nó cũng giúp việc quản trị dễ dàng hơn, bởi vì 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 bạn. Bạn có thể nghĩ rằng việc thiết lập Reverse Proxy khá phức tạp, nhưng các dịch vụ hiện đại đã làm hầu hết công việc cho bạn. Chúng ta sẽ cùng tìm hiểu một phương pháp cụ thể, sử dụng Synology NAS, và sau đó giải thích cách thức hoạt động chung nếu bạn muốn sử dụng một máy chủ Reverse Proxy khác.
II. Chuẩn Bị Những Gì Trước Khi Thiết Lập Reverse Proxy?
Để bắt đầu chạy Reverse Proxy trên Synology NAS cho các ứng dụng tự host, bạn không cần quá nhiều thứ. Điều quan trọng là bạn cần có danh sách các dịch vụ mà bạn muốn đặt phía sau Reverse Proxy và một Synology NAS đang chạy phiên bản DSM mới nhất.
Ngoài ra, chúng ta sẽ cần:
- Chứng chỉ SSL: Để đảm bảo mục đích bảo mật, bạn có thể nhận chứng chỉ này miễn phí ngay trong DSM từ Let’s Encrypt.
- Tên miền: Ví dụ:
tenmiencuaban.com
, để bạn có thể có các tên miền phụ (subdomain) cho mỗi ứng dụng web bạn muốn sử dụng với Reverse Proxy. - Cổng 443 được chuyển tiếp (Port Forwarding) từ router đến địa chỉ IP cục bộ của NAS.
- Địa chỉ IP và số cổng cho từng ứng dụng tự host.
III. Hướng Dẫn Thiết Lập Reverse Proxy Trên Synology NAS
Hiện tại, dịch vụ tự host duy nhất đang chạy trên Synology của tác giả là Home Assistant. Nó rất tuyệt vời, cho phép kiểm soát ngôi nhà thông minh từ một bảng điều khiển duy nhất. Thông thường, người dùng kết nối với Home Assistant bằng cách sử dụng kết hợp địa chỉ IP cục bộ và số cổng của nó, nhưng điều này gây phiền toái vì nhiều lý do. Thứ nhất, địa chỉ IP của Synology có thể thay đổi tùy thuộc vào cách bạn thiết lập home lab, và không ai muốn phải nhớ một chuỗi các địa chỉ IP và số cổng. Việc tiếp xúc quá nhiều cổng với internet rộng lớn cũng không an toàn.
Vậy, hãy bắt đầu bằng cách thiết lập DDNS để có một tên miền trỏ đến NAS, và một chứng chỉ SSL wildcard để có thể sử dụng các tên miền phụ. Chúng ta cần chứng chỉ SSL wildcard không chỉ vì mục đích bảo mật mà còn vì nó sẽ bao gồm bất kỳ tên miền phụ 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 yourwebappname1.domainname.com, yourwebappname2.domainname.com, v.v.
1. Thiết Lập DDNS và Chứng Chỉ SSL Wildcard
Đầu tiên, chúng ta sẽ thiết lập DDNS và chứng chỉ SSL của mình:
- Đă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.
Danh sách cấu hình DDNS trong Synology DSM 7, hiển thị các mục tên miền động đã thêm.
- Điền vào biểu mẫu như sau: Service Provider: Synology, Hostname: tenmiencuaban (ví dụ:
blogcongnghe.synology.me
), và nhấp vào Test Connection.
Form thêm DDNS mới trong Synology DSM 7, với các trường thông tin hostname và nhà cung cấp dịch vụ.
- Nếu kiểm tra thất bại, tức là hostname đó đã được sử dụng và bạn sẽ phải thử một vài phiên bản khác cho đến khi tìm được một tên chưa có ai dùng.
- Ngoài ra, trước khi tiếp tục, hãy tích vào ô bên cạnh Get a certificate from Let’s Encrypt and set it as default.
- Nhấp vào OK.
- Điều hướng đến Security > Certificate và chọn Add.
Menu Chứng chỉ SSL trong Control Panel của Synology DSM, nơi quản lý các chứng chỉ bảo mật.
- Chọn Replace an existing certificate và chọn chứng chỉ mà chúng ta vừa tạo trước khi nhấp vào Next.
- Chọn Get a certificate from Let’s Encrypt và tích vào ô bên cạnh Set as default certificate.
- Chọn Next.
- Điền Hostname: tenmiencuaban.com, địa chỉ email của bạn: [email protected], và đừng quên đặt ký tự đại diện (wildcard) vào ô với *.tenmiencuaban.synology.me.
Hướng dẫn điền thông tin để tạo chứng chỉ SSL Wildcard trên Synology NAS, bao gồm hostname và email.
- Chứng chỉ SSL wildcard cho phép chúng ta sử dụng các tên miền phụ 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, vì vậy hãy nhấp Next khi bạn hoàn tất để lưu chứng chỉ SSL.
2. Cấu Hình Reverse Proxy Cho Ứng Dụng Của Bạn
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 hơn một ứng dụng, hãy lặp lại phần này của quy trình, thay đổi tên miền phụ mỗi lần để nó đại diện cho ứng dụng web bạn muốn trỏ đến.
- Chúng ta vẫn làm việc trong Control Panel trên Synology.
- Đi tới Login Portal > Advanced.
- Nhấp vào Reverse Proxy.
- Nhấp vào Create.
- Đặt Proxy name, thay đổi giao thức nguồn thành HTTPS, nhập hostname tên miền phụ của bạn (ví dụ:
hass.blogcongnghe.synology.me
), đặt cổng nguồn thành 443, Enable HSTS, đặt hostname đích thành localhost hoặc địa chỉ IP của ứng dụng web của bạn và cổng đích thành cổng mà ứng dụng web của bạn cần.
Cửa sổ cài đặt Reverse Proxy trên Synology NAS, hiển thị cấu hình nguồn và đích cho ứng dụng.
- Chọn tab Custom Header.
- Nhấp vào Create.
- Chọn WebSocket.
- Nhấp vào Save.
- Nhấp vào Close.
- Đi tới Network > Connectivity và Enable HTTP/2, sau đó nhấp vào Apply.
- Sau đó đi tới Security > Advanced, enable HTTP Compression, và nhấp vào Apply.
- Sau đó đi tới 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.blogcongnghe.synology.me
.
Thiết lập chứng chỉ SSL cho Reverse Proxy trong Synology DSM, cho phép chọn chứng chỉ phù hợp từ danh sách.
Bây giờ, Reverse Proxy của bạn đã được thiết lập để truy cập phiên bản Home Assistant của bạn từ bên trong và bên ngoài mạng gia đình bằng cách sử dụng hass.blogcongnghe.synology.me
.
Kết Luận
Việc thiết lập Reverse Proxy giúp bạn dễ dàng truy cập các dịch vụ tự host như Vaultwarden hoặc Home Assistant để điều khiển ngôi nhà thông minh. Nó cũng làm cho mạng gia đình của bạn an toàn hơn rất nhiều, vì bạn chỉ để lộ một cổng duy nhất ra internet rộng lớn cho tất cả các ứng dụng tự host của mình. Tuy nhiên, điều đó 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 chứng chỉ SSL đúng cách.
Bạn đã từng thiết lập Reverse Proxy cho các ứng dụng tự host của mình chưa? Hãy chia sẻ kinh nghiệm hoặc bất kỳ mẹo nhỏ nào của bạn trong phần bình luận bên dưới!