Giả sử chúng ta có nhiều webserver tại cùng một Wan IP, chia sẻ cổng 80 và 443. Việc sử dụng Reverse Proxy giúp chúng ta điều hướng việc truy cập website/webserver dựa vào domain name tại cùng port 80/443 cho http/https. Trong nội bộ mạng LAN, Reverse Proxy phân biệt các website thông qua domain/IP/Port, trong đó có thể dùng một dãy rộng các port chứ không hạn chế ở 80/443.
Chuẩn bị
A. NAT port 80/443 về IP của NAS
B1. Nếu đã cấu hình webserver cho domain example.com, thí dụ
server {
# listen 443 ssl http2;
listen 8080;
server_name example.com;
root /mnt/www/example;
# ssl_certificate
# /etc/letsencrypt/live/example.com/fullchain.pem;
# ssl_certificate_key
# /etc/letsencrypt/live/example.com/privkey.pem;
# include ssl.conf;
include php.conf;
}
Sửa cấu hình ở những đoạn liên quan đến SSL. Đổi port 443 thành port html tùy ý (thí dụ 8080), nhớ mở port nội bộ và khởi động lại webserver.
ufw allow 8080/tcp
systemctl reload nginx
Kiểm tra bằng cách mở website bằng trình duyệt hay bằng curl
curl -vI http://example.com:8080
B2. Nếu chưa cấu hình website thì tiến hành cấu hình tương tự như trên.
Cài đặt Reverse Proxy
Ở DSM 7.2, Reverse Proxy được đặt ở Control Panel – Login Portal – Advanced – Reverse Proxy.
Bấm Create, điền các tham số Source và Destination
Source
Protocol: HTTPS
Hostname: example.com
Port: 443
[x] Enable HSTS
Destination
Protocol: HTTP
Hostname: IP_webserver
Port: 8080
Bấm nút Save là xong một website
Chú thích
Reverse proxy của DSM không chấp nhận wildcard domain name như (pi|rpi).ly-le.info
nên phải tạo reverse proxy cho từng domain.