Máy bạn mở kết nối ra (vượt NAT/firewall), nginx tuyến đầu xử lý HTTPS.
Máy bạn (sau NAT) Internet
┌───────────────┐ ssh -R :2222 ┌─────────────┐
│ localhost:3000│ ───────────────────►│ người xem │
└───────┬───────┘ └──────┬──────┘
│ đường hầm ngược │ https://app.entry.io.vn
▼ ▼
┌──────────────────────────────────────────────────┐
│ VPS entry.io.vn │
│ nginx :443 (cert *.entry.io.vn) ──► sish │
│ proxy *.entry.io.vn theo Host header │
└──────────────────────────────────────────────────┘
🔒 Có xác thực bằng SSH key — chỉ key đã thêm mới tạo được tunnel,
tránh người lạ lợi dụng tên miền.
05 — FAQ
Câu hỏi thường gặp
Những thắc mắc hay gặp khi dùng tunnel.
Tôi có cần cài phần mềm gì không?▶
Không. Tunnel tạm thời chỉ cần ssh (có sẵn trên mọi hệ điều hành).
Chỉ khi muốn chạy ngầm trên máy Linux thì cần autossh — script ở mục 03 tự cài giúp.
Vì sao tunnel tắt khi tôi đóng terminal?▶
Đó là tunnel tạm thời gắn với phiên ssh. Muốn nó sống mãi (tự bật khi boot, tự reconnect),
dùng cách chạy ngầm bằng systemd ở mục 03.
Subdomain có cố định được không?▶
Có. Đặt tên ngay trong lệnh: ssh -p 2222 -R tên:80:localhost:3000 entry.io.vn
→ https://tên.entry.io.vn. Bỏ trống thì hệ thống cấp tên ngẫu nhiên.
HTTPS có sẵn không, tôi có phải tự cài cert?▶
Tự động hoàn toàn. Mọi subdomain dùng chung chứng chỉ wildcard *.entry.io.vn;
truy cập http:// sẽ tự chuyển sang https://.
Báo lỗi "Permission denied (publickey)"?▶
Public key của bạn chưa được thêm vào allowlist. Lấy key bằng lệnh ở mục 01
rồi gửi cho admin. Sau khi được thêm, chạy lại lệnh là vào.
Expose service không phải web (database, SSH...) được không?▶
Được — dùng tunnel TCP: ssh -p 2222 -R 0:localhost:5432 entry.io.vn.
Hệ thống cấp một port public ngẫu nhiên trỏ về service local của bạn.
Nhiều người dùng chung được không?▶
Được. Mỗi người gửi public key riêng để admin thêm vào /root/sish/pubkeys/.
Không giới hạn số tunnel đồng thời.
Có an toàn không?▶
Có 2 lớp: xác thực SSH key và HTTPS cho mọi traffic. Tuy vậy đừng expose
service nhạy cảm ra public lâu dài mà không có thêm lớp bảo vệ.