Chuẩn luôn 👍
Reverse SSH tunnel gọi về localhost:80 thì bản chất nó vẫn là Apache (hoặc web server) đang chạy ở máy local — SSH chỉ làm nhiệm vụ chuyển ống (pipe) traffic, không thay thế web server.
Nói cho dễ hình dung nhé 👇
Ví dụ bạn chạy:
ssh -R 8080:localhost:80 user@VPS
Luồng thực tế là:
Client ngoài internet ↓ VPS:8080 ↓ (SSH tunnel) Máy local:80 ↓ Apache local (XAMPP)
👉 Apache ở local vẫn xử lý request, SSH chỉ là anh shipper chuyển gói hàng.
localhost:80 = cổng 80 trên máy local➡️ Tất cả vẫn do Apache local + PHP + DocumentRoot xử lý.
👉 CÓ – và rất quan trọng
Apache local sẽ quyết định:
Host headerServerNameServerAliasVí dụ request từ ngoài vào:
curl http://VPS_IP:8080
Apache local sẽ thấy:
Host: VPS_IP
➡️ Nó sẽ chọn VirtualHost phù hợp với ServerName VPS_IP
Nếu không có → ăn default vhost.
Rất hay gặp 👇
curl http://localhost:8080 # ở máy local
⛔ Sai ngữ cảnh
curl http://localhost:8080 # ở VPS
Vì:
✔ Reverse SSH không thay Apache
✔ Apache vẫn chạy ở local
✔ SSH chỉ là đường hầm
✔ Apache VirtualHost local vẫn quyết định site nào được trả
✔ Test phải test từ VPS, không phải local